服务器环境及版本
阿里云服务器ECS centos7.7
安装软件版本
mysql8.0.12
搭建方法- yum源安装
1. yum源操作及配置
- 首先更新yum源,与时俱进
yum update -y
- 下载mysql源安装包
建立文件夹并进入,下载mysql源安装包
mkdir /usr/local/mysql
cd /usr/local/mysql
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
- 安装mysql源
下载完成后进行本地yum源安装
yum localinstall mysql80-community-release-el7-1.noarch.rpm
- 检查是否成功
yum repolist enabled | grep "mysql.*-community.*"
- 上步成功后进行mysql安装
yum install mysql-community-server
可能会遇见“Could not resolve host: mirrorlist.centos.org; Unknown error” 错误,解决如下
vim /etc/resolv.conf #在此文件中添加 nameserver 8.8.8.8 nameserver 202.106.0.20 然后Wq!保存后重启网络服务,systemctl restart network即可
可能会遇见 yum Loaded plugins: fastestmirror错误,解决如下
原因可能是被墙了,访问不了
禁用fastestmirror可yum --disableplugin=fastestmirror update vi /etc/yum/pluginconf.d/fastestmirror.conf enabled=1改成0
2. 启动mysql服务
- 启动命令
#二者择其一
systemctl start mysqld
或者
service mysqld start
- 启动时可能会出现Failed to start mysqld.service: Unit not found错误
#当输入命令 systemctl start mysql.service #要启动MySQL数据库是却是这样的提示 Failed to start mysqld.service: Unit not found #解决方法如下: #首先需要安装mariadb-server yum install -y mariadb-server #启动服务 systemctl start mariadb.service #添加到开机启动 systemctl enable mariadb.service
- 查看是否启动成功
#二者择其一
systemctl status mysqld
或者
service mysqld status
#如下图则是启动成功,如果报红出错那就按照错误找度娘。
- 设置开机自启
systemctl enable mysqld
systemctl daemon-reload
3. 相关设置
- 设置mysql登录密码
mysql安装成功后会自动生成一个root权限的密码,位置在/var/log/mysqld.log
#可以使用cat命令,不过展示内容过多,不好明确具体密码,所以采用更专业的grep命令
grep 'temporary password' /var/log/mysqld.log
⚡ 特意去查了一下grep,可通俗的理解为
grep的全称为:Global search Regular Expression and Print out the line全称中的“Global search"为全局搜索之意。
- 客户端登录
mysql -uroot -p
#然后在命令行输入上方查询出的root密码
- 然后修改成自己想要的密码
⚡ 特别注意这个设置密码需要大小写及特殊符号数据等复杂组合,要不修改不成功
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Haier...123';
#如果上方执行错误则使用
set password for 'root'@'localhost'=password('Haier...123');
- 重新启动mysql服务使配置生效
systemctl restart mysqld
4. 添加远程登录用户
mysql 默认只允许root帐户在本地登录。如果想要在其他机器上使用工具连接,必须修改root允许远程连接,或者添加一个允许远程连接的帐户。
客户端登录
mysql -uroot -p Enter password:Haier...123
选择mysql库
use mysql
查看root用户的相关信息:
select host, user from user; #其中root的host值为localhost,意思是只支持本地连接
修改root用户的host改为允许远程访问
GRANT ALL ON *.* TO 'root'@'%';
#如果上方执行ERROR 1410 (42000): You are not allowed to create a user with GRANT错误则使用
update user set host='%' where user ='root';
#命令使修改生效
flush privileges;
#再次查看root用户的相关信息
select host, user from user;
5. 远程连接异常
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
#其中password为之前修改过的
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
#若还报ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'错,则使用一下命令
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
我是JavaDog,谢谢博友耐心看完, 抽空来我狗窝?瞅瞅呗 blog.javadog.net,或者关注我的微信公众号有惊喜!