赞
踩
MySQL官网:MySQL :: MySQL Downloads
我选择的是Linux通用版本,下载min包(具体根据自己的实际信息选择):
将下载的tar包上传到服务器,解压
tar -xvf mysql-8.0.36-linux-glibc2.17-x86_64-minimal.tar
解压后会有三个文件,这里用到的是第一个,解压 ,并对解压后的文件夹重命名
- tar -xvf mysql-8.0.36-linux-glibc2.17-x86_64-minimal.tar.xz
-
- mv mysql-8.0.36-linux-glibc2.17-x86_64-minimal mysql-8.0.36
进入到安装目录,创建存储文件
- cd /usr/local/mysql-8.0.36/
-
- mkdir data
创建用户组和用户,并给用户赋予权限
- groupadd mysql
-
- useradd -g mysql mysql
-
- chown -R mysql.mysql /usr/local/mysql-8.0.36/
切换到bin目录,初始化MySQL基本信息
- cd bin/
-
- ./mysqld --user=mysql --basedir=/usr/local/mysql-8.0.36 --datadir=/usr/local/mysql-8.0.36/data/ --initialize
然后会看到生成了一个临时密码(密码要记下来,后面会用到)
cp -a /usr/local/mysql-8.0.36/support-files/mysql.server /etc/init.d/mysql
- //增加mysql文件的可执行权限
- chmod +X /etc/init.d/mysql
- //把服务添加到chkconfig列表
- chkconfig --add mysql
- [mysqld]
- basedir=/usr/local/mysql-8.0.36
- datadir=/usr/local/mysql-8.0.36/data
- socket=/tmp/mysql.sock
- log_error=/var/log/mysql.log
- log_bin=/usr/local/mysql-8.0.36/mysql-bin
- binlog_format=row
- skip-name-resolve
- server_id=172
- gtid-mode=on
- enforce-gtid-consistency=true
- log-slave-updates=1
- [client]
- socket=/tmp/mysql.sock
sudo chmod 664 /etc/my.cnf
service mysql start
- //系统默认会查找/usr/bin下的命令,如果命令不在这个目录下,会报错bash: mysql: 未找到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
- ln -s /usr/local/mysql-8.0.36/bin/mysql /usr/bin/
- //使用前面的密码登录
- mysql -uroot -p
可能出现以下错误:
mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
解决方法:可以直接安装缺失的文件
yum install libncurses* -y
- //使用临时密码登录
- mysql -uroot -p
- //进入到MySQL,依次执行
- ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
- flush privileges;
- quit;
- //使用新密码登录,验证是否修改成功
- mysql -uroot -p123456
至此,安装完成,可以使用Navicat等工具远程连接。
配置好连接信息,测试连接,可能会提示如下错误:
解决:执行SQL语句,设置允许root用户在所有IP上登录
- mysql -uroot -p123456
- use mysql;
- //允许所有IP连接
- update user set host = '%' where user ='root';
- flush privileges;
user和host的对应关系是:用户允许在哪个IP上登录。比如第一行,意思是所有IP都可以使用root用户登录,原来root对应的是localhost,这里是已经改过的。
生产环境建议不要用%,host=%代表的是所有IP都有连接权限,可能存在安全问题,可以具体到所使用的IP。
注意:如果用的是云服务器(我这里用的是华为云),记得去设置开放3306端口
最后大功告成,连接成功!
看到此处即是情,别忘记点个赞哦。如果有其他问题,欢迎评论,共同探讨!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。