tar -xvf mysql-8.0.31-glibc2.12-x86_64.tar.xzsudo mv mysql-8.0.31-glibc2.12-x86_64 /usr/local/mysqlsudo groupadd mysql和sudo useradd -r -g mysql -s /bin/false mysqlsudo chown -R mysql:mysql /usr/local/mysqlsudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/datasudo /usr/local/mysql/bin/mysqld_safe --user=mysql & (此时会生成一个默认密码,记住这个密码 /usr/local/mysql/bin/mysql -uroot -p用这个密码就能登录了)sudo vi /etc/my.cnf[client]
port=3306
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
port=3306
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=/var/run/mysqld/error.log
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
max_connections=512
max_connect_errors=500
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
sudo vi /usr/lib/systemd/system/mysqld.service[Unit]
Description=MySQL Server
After=network.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld_safe --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock
ExecStop=/usr/local/mysql/bin/mysqladmin --user=root --password=your_password shutdown
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reloadsudo systemctl start mysqldsudo systemctl status mysqld“Can't connect to local MySQL through socket '/tmp/mysql.sock'”,这时可以创建个软链接,这要看my.cnf中sock的配置,我这边改成sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock,然后重启服务sudo systemctl restart mysqld要允许MySQL远程登录,需要进行以下步骤:
登录到MySQL服务器并打开MySQL shell:mysql -u root -p
输入密码以登录。
创建一个新的MySQL用户并授予其远程登录权限。例如,要创建名为“remoteuser”的用户并授予其远程登录权限,请运行以下命令:
CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%';
FLUSH PRIVILEGES;
这将创建一个名为“remoteuser”的用户,并授予它在所有数据库和所有表上的所有权限。请注意,“%”符号表示允许从任何IP地址连接到MySQL服务器。