1、创建mysql的安装目录
mkdir /usr/local/mysql && cd /usr/local/mysql
2、下载mysql,可以使用以下命令下载,也可以到官网下载好来,上传到服务器的/usr/local/mysql目录下,mysql下载地址:https://dev.mysql.com/downloads/mysql/
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
3.mysql源安装下载好后 ,我们检查下 看下是否安装完成 详细命令:yum repolist enabled | grep "mysql.*-community.*"
yum repolist enabled | grep "mysql.*-community.*"
报Failed to set locale, defaulting to C,查询可知locale是用来设置语言环境的,故此需要查看并正确设置locale,执行以下命令
echo "export LC_ALL=en_US.UTF-8" >> /etc/profile
执行完重新登入,再执行:yum repolist enabled | grep "mysql.*-community.*"
4、当该下的东西都下载安装好后,下面我们就可以进行安装,直接进入/usr/local/mysql文件下,执行mysql安装命令,等待安装完成。mysql安装详细命令:yum install mysql-community-server
yum install mysql-community-server
报:No package mysql-community-server available,mysql是免费开源的数据库产品,我们在CentOS mysql安装时报No package mysql-server available错误是因为我们本地yum仓库中没有可用的mysql-server rpm包,因此在yum安装之前先在本地备好rpm软件包。
rpm -ivh https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
然后再执行:yum install mysql-community-server,根据提示输入两次y。
5.安装完成后,就是启动服务器,服务器启动后可通过mysql -u root -p命令进行登录。启动数据库服务命令:systemctl start mysqld
systemctl start mysqld
提示输入密码,直接回车,会报:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES),这说明安装的mysql是有密码的,那怎么找到mysql的默认密码呢?
grep 'temporary password' /var/log/mysqld.log
输入上面的命令会出现随机密码(红色部分):2019-01-07T14:39:58.230729Z 1 [Note] A temporary password is generated for root@localhost: ,FwyEhrz*2Bd
然后复制红色部分的随机密码,输入
mysql -u root -p
登入mysql之后,需要修改mysql的密码
# 修改mysql登入密码
set password for root@localhost = password('123456');
如果报:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements的错误,这个其实与validate_password_policy的值有关。
validate_password_policy有以下取值:
Policy | Tests Performed |
---|---|
Tests Performed | Length |
1 or MEDIUM | Length; numeric, lowercase/uppercase, and special characters |
2 or STRONG | Length; numeric, lowercase/uppercase, and special characters; dictionary file |
默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。
必须修改两个全局参数:
首先,修改validate_password_policy参数的值
set global validate_password_policy=0;
再执行设置mysql的密码就可以了