进入tmp,将mysql安装包下载到此路径下暂存
cd /tmp
通过wget直接下载mysql的安装包
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.36-linux-glibc2.12-x86_64.tar
解压该tar包
tar xf mysql-8.0.36-linux-glibc2.12-x86_64.tar
解压后选择选中的文件,再次解压,如图中蓝色文件夹
tar xf mysql-8.0.36-linux-glibc2.12-x86_64.tar.xz
将该文件夹移动到/opt/mysql-8.0.36路径下
mv mysql-8.0.36-linux-glibc2.12-x86_64 /opt/mysql-8.0.36
创建mysql用户
useradd -s /sbin/nologin mysql
设置环境变量
echo export PATH=/opt/mysql-8.0.36/bin:$PATH>>/etc/profile
初始化数据,创建mysqldata用于存放mysql系统数据,mysql_binlog用于存放日志
mkdir /home/mysqldatamkdir /home/mysql_binlog
修改home路径下,mysql相关文件的拥有者
chown mysql:mysql /home/mysql chown mysql:mysql /home/mysql* chown mysql:mysql /home/mysql* -R
更新数据目录
/opt/mysql-8.0.36/bin/mysqld --initialize --user=mysql --basedir=/opt/mysql-8.0.36 --datadir=/home/mysqldata
此时会创建MySQL的临时密码
记得保存好,最后红框中即临时密码。
编辑配置文件
先将原文件备份
cp /etc/my.cnf /etc/my.cnfbak vi /etc/my.cnf #修改配置文件,将以下内容写入my.cnf [mysqld] user=mysql basedir=/opt/mysql-8.0.36 datadir=/home/mysqldata socket=/tmp/mysql.sock pid-file=/home/mysqldata/mysql.pid log-error=/home/mysqldata/error.log port=3306 character-set-server=utf8 max_connections=10000 server-id=1 log-bin=/home/mysql_binlog/mysql-bin sync_binlog = 1 binlog_checksum = none binlog_format = row gtid-mode = on enforce-gtid-consistency = on log-slave-updates = 1 skip-slave-start = 1 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysql] socket=/tmp/mysql.sock
配置system启动mysql数据库
vim /etc/systemd/system/mysqld.service
将以下内容写入
[Unit] Description=MySQL Server Documentation=man:mysqld(8) Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql ExecStart=/opt/mysql-8.0.36/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE = 5000
加载环境变量
source /etc/profile
加载systemd
systemctl daemon-reload
启动mysql
systemctl start mysqld
检查mysql状态
systemctl status mysqld
然后登录mysql,同样的步骤在银河麒麟安装时,报错
mysql -uroot -p
mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory解决方案,安装确实的libtinfo5,systemctl restart mysqld
重启一下mysql
sudo apt-get update sudo apt-get install libtinfo5
mysql -uroot -p 上面生成的临时密码
进入mysql后修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; #new_password替换为新密码
修改root的权限为%,任意ip都可以连接,也可以指定ip连接,
UPDATE mysql.user SET host = '%' WHERE user = 'root' AND host = 'localhost'; #修改localhost为%或指定ip
加载修改内容
FLUSH PRIVILEGES;
用本地Navicat连接成功。
到此,mysql安装完成。