logo资料库

Centos7.6安装MySQL8.0.docx

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
系统:Centos7.6 数据库:MySQL8.0 二进制安装: 先画重点: 如果是云服务器,请先登录对应的云控制台,在安全组中将需要的端口打开! 一、确认服务器没有安装 mysql 或已卸载完全。 二、下载二进制包 两种压缩格式: 1、gz 格式,例如:mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 解压方式: # tar -xzvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 2、xz 格式,例如:mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz 解压方式: 先解压为 tar 包: # xz -d mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz 不保留原压缩包 再解压 tar 包: # tar xvf mysql-8.0.16-linux-glibc2.12-x86_64.tar 三、自定义目录规则: 安装位置:/usr/local/mysql 数据保存位置:/usr/local/mysql/data 日志保存位置:/usr/local/mysql/log socket 位置:/usr/local/mysql/tmp pid-file 位置:/usr/local/mysql/run 四、安装 1、压缩包解压后,从原文件夹移动并重命名至安装目录下: # mv mysql-8.0.16-linux-glibc2.12-x86_64 /usr/local/mysql 2、创建目录 # mkdir /usr/local/mysql/data # mkdir /usr/local/mysql/log # mkdir /usr/local/mysql/tmp # mkdir /usr/local/mysql/run (压缩包解压后如果有这个文件夹,就不用重新创建) 3、新建 mysql 用户、组及目录 # groupadd mysql # useradd -r -g mysql mysql 4、改变目录所有者 # cd /usr/local/mysql # pwd # chown -R mysql . chown -R mysql:mysql /usr/local/mysql # chgrp -R mysql . 5、配置参数 # bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 如果报错
则需要安装 libaio: # yum install -y libaio 安装完成后,重复之前的配置命令 配置完成后,需要注意记录生成的临时密码,root@localhost:zw3r_M2wy9Jf 6、修改系统配置文件 #cd /usr/local/mysql/support-files # cp my-default.cnf /etc/my.cnf (此文件如果解压后没有,看看/etc 下是不是有,如果没有,自己创建) # cp mysql.server /etc/init.d/mysql # vim /etc/my.cnf 进行如下图配置: # vim /etc/init.d/mysql 修改以下内容: 7、运行 # cd /usr/local/mysql 运行服务器程序 # bin/mysqld_safe --user=mysql & 如果出现如下错误 可以自己创建一个 mysql.log: echo "" > /usr/local/mysql/log/mysql.log 停止 mysql # bin/mysqladmin -uroot -p -登陆 # mysql -hlocalhost -uroot -p --如果出现:-bash: mysql: command not found --就执行: # ln -s /usr/local/mysql/bin/mysql /usr/bin --没有出现就不用执行 输入之前的临时密码,如果没记住,参考最后一步,如何修改 root 密码。 8、添加系统路径 # vim /etc/profile 添加: export PATH=/usr/local/mysql/bin:$PATH 如下:
# source /etc/profile 9、设置 mysql 服务和开机启动 # chmod 755 /etc/init.d/mysql # chkconfig --add mysql 10、开放远程链接 如果开放 root 用户的远程链接, mysql> update user set host = "%" where user='root'; 开放权限 mysql> grant all privileges on *.* to 'root'@'%' with grant option; 创建用户和授权 mysql> create user 'test'@'%' identified by 'test123*'; mysql> grant all privileges on *.* to 'test'@'%' with grant option; 查看用户权限 mysql> select host, user, authentication_string, plugin from user; 重点:如果你没有设置认证方式,默认的密码加密方式是:caching_sha2_password,而现在很多客户端工具还不支持这种加密认 证方式,连接测试的时候就会报错:client does not support authentication protocol requested by server; consider upgrading MySQL client,这里的错误信息就是不支持身份认证方式,没关系,去 my.cnf 里面在[mysqld]下面加上这句话即 可: default_authentication_plugin=mysql_native_password 修改后,重启 mysql,此时再创建用户时,密码的加密方式就默认为 mysql_native_password 修改已有账户的密码加密方式: use mysql; 修改新填的用户的密码加密方式: ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'test1234*'; FLUSH PRIVILEGES; 看看是否修改成功: mysql> select host, user, authentication_string, plugin from user; mysql root 密码修改 如果忘记 root 密码 # vim /etc/my.cnf 2.在[mysqld]中添加 skip-grant-tables 例如: [mysqld] skip-grant-tables datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock 3.重启 mysql
service mysql restart 4.用户无密码登录 mysql -uroot -p (直接点击回车,密码为空) 5.选择数据库 use mysql; 6.修改 root 密码 修改密码之前,先看清楚保存密码的字段名称: select * from user; 如果是 password,则 UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ; 完成-------------- 如果是 authentication_string,则比较复杂,依据以下步骤操作: 1、先将密码设置为空 use mysql; update user set authentication_string='' where user='root' 2、quit; 退出 mysql ; vim /etc/my.cnf 将 skip-grant-tables 删除,保存退出; service mysql restart 重启 mysql; 3、登录:mysql -uroot -p , 因为密码为空,所以可以直接回车,登录成功; 4、正式修改密码: ALTER user 'root'@'localhost' IDENTIFIED BY 'Qian123#'; 至此修改成功; 从新使用用户名密码登录即可; 7.执行 flush privileges; 8.退出 mysql quit 9.编辑 /etc/my.cnf 删除 skip-grant-tables 保存退出 10.重启 mysql service mysql restart。 切记:不能按如下方法直接修改密码 update user set authentication_string="newpassword" where user="root";
分享到:
收藏