Mysql8.0.16安装教程@九歌*

最近由于项目需要,搭建一套Mysql数据库(我这边用的系统是Centos 7),就到官网下载了最新版本的mysql安装,发现新版的mysql8和以前5版本有些差异,以前的笔记也没顺利搭建完成,特此整理了mysql8版本的安装步骤,希望看到这篇博客的伙计能得到帮助。

一、解压缩tar文件

tar -xvf mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz

二、移动mysql目录到系统的本地软件目录

mkdir /usr/local/mysql
mkdir /usr/local/mysql/data
mv mysql-8.0.16-linux-glibc2.12-x86_64/* /usr/local/mysql

三、添加系统的mysql组和mysql用户

groupadd mysql
useradd -r -g mysql mysql

四、初始化mysql配置表

转到mysql目录下
cd /usr/local/mysql 
修改当前目录为mysql用户
chown -R mysql:mysql ./
  初始化数据库
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

注:这个命令和mysql5.7之前的命令不一样了,之前命令是:bin/mysql_install_db --user=mysql,但是之后的版本已经被mysqld --initialize替代
若发现mysql_install_db没有这个文件,所以在bin下创建这个文件,并且配置权限
mkdir mysql_install_db
chmod 777 ./mysql_install_db

若报错:bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
则yum安装numactl,命令为:yum -y install numactl
再次执行"bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data"

注:mysql5.7版本之上会初始化话一个密码,在这里要记住这个初始化密码,在下面初次登录会用上(kULIN_%Y8Nyw)

修改权限配置
  	chown -R root:root ./		 	//修改当前用户为root用户
    chown -R mysql:mysql data 		//修改当前的data目录为mysql用户

注:如果/usr/local/mysql/目录下没有tmp文件,手动创建,并且配置权限
mkdir tmp
chmod 777 ./tmp

五、复制配置文件

  cp support-files/my-default.cnf /etc/my.cnf

注:如果没有my-default.cnf就手动创建一个文件,并且配置权限
vim support-files/my-default.cnf
chmod 777 ./support-files/my-default.cnf
重新执行“cp support-files/my-default.cnf /etc/my.cnf”,然后修改/etc/my.cnf文件:

六、修改配置文件my.cnf

vim /etc/my.cnf
  
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
socket = /usr/local/mysql/tmp/mysql.sock
#指定用户密码加密方式
default_authentication_plugin=mysql_native_password
#必填项
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
socket = /usr/local/mysql/tmp/mysql.sock

七、加入开机自启项

将{mysql}/ support-files/mysql.server 拷贝为/etc/init.d/mysql并设置运行权限,这样就可以使用service mysql命令启动/停止服务
cp support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
注册启动服务:
chkconfig --add mysql
查看是否添加成功
chkconfig --list mysql
显示:mysqld          0:off  1:off  2:on  3:on  4:on 5:on  6:off

八、启动mysql数据库

systemctl start mysql
systemctl stop mysql
systemctl restart mysql

九、配置环境变量

vim /etc/profile
文件中写入:export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
保存退出之后,让文件生效source /etc/profile

十、登录并修改密码

mysql -uroot -p cCS<-H=Yu0Os  //后面是系统生成的密码 
注:mysql 8.0 默认使用 caching_sha2_password 身份验证机制 —— 从原来的 mysql_native_password 更改为 caching_sha2_password。 
从 5.7 升级 8.0 版本的不会改变现有用户的身份验证方法,但新用户会默认使用新的 caching_sha2_password,恰恰客户端不支持新的加密方式。
所以,使用
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
修改密码,而不是
alter user 'root'@'localhost' identified by 'root'; //修改root密码

十一、设置可远程登录

执行use mysql;
执行update user set host = '%' where user = 'root';这一句执行完可能会报错,不用管它。
执行FLUSH PRIVILEGES;

你可能感兴趣的:(Mysql)