标签:mysql8 18 mysql etc MySQL8.0 版本 MySQL mysqld data
环境说明:
系统版本:CentOS release 6.8 (Final)
MySQL版本:mysql-8.0.18
内存:63G
空间:8T
1 配置本地yum仓库
2 下载安装包:wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
3 解压安装包:tar -zxf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz -C /usr/local/mysql8
4 创建用户,MySQL数据目录和授权
mkdir /data/mysql8
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql8
chown mysql:mysql /usr/local/mysql8/ -R
chown -R mysql:mysql /data/mysql8/
5 MySQL初始化
cd /usr/local/mysql8/
sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql8 --datadir=/data/mysql8 # 注意初始化命令执行后会生成一个临时root密码
sudo bin/mysql_ssl_rsa_setup --datadir=/data/mysql8 #生成密钥对
6 将MySQL服务添加到系统服务中
sudo cp support-files/mysql.server /etc/init.d/mysqld -r
vim /etc/init.d/mysqld #修改配置文件中,指定数据目录和安装目录
datadir=/data/mysql8
basedir=/usr/local/mysql8
7 配置环境变量,使用命令
sudo vim /etc/profile #文件末尾追加以下内容
#set MySQL
export PATH=$PATH:/usr/local/mysql8/bin:/usr/local/mysql8/sbin
source /etc/profile
8 启动MySQL服务,先删除配置文件
sudo rm -rf /etc/my.cnf
sudo /etc/init.d/mysqld start
#使用临时密码登陆数据库
mysql -uroot -p
登陆之后立即修改数据库的密码:
mysql>ALTER user 'root'@'localhost' IDENTIFIED BY '新密码';
刷新权限表:
mysql>flush privileges;
9 使用新修改的root密码登录MySQL,并给新用户授权
https://www.cnblogs.com/xxsl/p/10791137.html
mysql -uroot -p新密码
mysql>user mysql;
mysql>create user testuser@'%' identified by 'testuser';
mysql>grant all privileges on *.* to 'testuser'@'%' with grant option;
mysql>flush privileges;
10 配置MySQL配置文件 /etc/my.cnf
先停止服务:
/etc/init.d/mysqld stop
在修改配置文件:
vim /etc/my.cnf
[mysqld]
datadir=/data/mysql8
basedir=/usr/local/mysql8
user=mysql
socket=/data/mysql8/mysql.sock
## Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
## instructions in http://fedoraproject.org/wiki/Systemd
#[mysqld_safe]
log-error=/data/mysql8/mysql.log
pid-file=/data/mysql8/mysql.pid
11 重启MySQL,使用root连接
报错显示找不到套接字文件,做一个软连接
ln -s /data/mysql8/mysql.sock /tmp/mysql.sock
再次登陆成功
mysql -uroot -p新密码
登陆,可以成功查看
12 设置MySQL服务为开机自启动
chkconfig mysqld on
chkconfig --list |grep mysqld
13 使用客户端navicat连接 总是报错1251;
之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,直接去连接Navicat会报错1251
解决办法:
在/etc/my.cnf中添加:default_authentication_plugin=mysql_native_password
然后在数据库中修改testuser的认证方式:
https://blog.csdn.net/u011182575/article/details/80821418
重启数据库:service mysqld restart
标签:mysql8,18,mysql,etc,MySQL8.0,版本,MySQL,mysqld,data 来源: https://www.cnblogs.com/butterflies/p/12022971.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。