CentOS7通过yum安装Mysql5.7+修改默认密码+远程登录

在Linux下彻底删除掉mysql

在Linux下彻底删除掉mysql

  • 通过yum命令安装mysql
yum install -y mysql-server

通过以上命令会自动安装server和client。

  • 通过yum卸载掉mysql
yum remove -y mysql*

但是通过这个命令并没卸载掉mysql。
还有些残余配置文件和类库,需要删除

# 手动删除  数据库目录
rm -rf /var/lib/mysql/
# 手动删除  数据库配置文件
rm -rf /usr/share/mysql/
# 手动删除  数据库配置文件
rm -f /etc/my.cnf

1.配置yum源

# 下载mysql源安装包
shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
# 安装mysql源
shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm
  • 1
  • 2
  • 3
  • 4

检查mysql源是否安装成功

shell> yum repolist enabled | grep "mysql.*-community.*"
  • 1

这里写图片描述 
看到上图所示表示安装成功

2.安装mysql

shell> yum install mysql-community-server
  • 1

3、启动MySQL服务

shell> systemctl start mysqld
  • 1

查看MySQL的启动状态

shell> systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
   Active: active (running) since 五 2016-06-24 04:37:37 CST; 35min ago
 Main PID: 2888 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─2888 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

624 04:37:36 localhost.localdomain systemd[1]: Starting MySQL Server...
624 04:37:37 localhost.localdomain systemd[1]: Started MySQL Server.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

4、开机启动

shell> systemctl enable mysqld
shell> systemctl daemon-reload
  • 1
  • 2

5、修改root默认密码

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。 
查看默认密码

shell> grep 'temporary password' /var/log/mysqld.log
  • 1

这里写图片描述 
其中 Q2>r4=l-DWIP 就是我的默认密码

用默认密码登录

shell> mysql -uroot -p
mysql> Enter password: Q2>r4=l-DWIP
  • 1
  • 2

修改默认密码

mysql> SET PASSWORD = PASSWORD('root');
# 上面的root是你的新密码
  • 1
  • 2

6.允许root远程登录

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123@asdf' WITH GRANT OPTION;
mysql> flush privileges;
  • 1
  • 2

第一句中”%”表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如: 
GRANT ALL PRIVILEGES ON . TO root@”172.168.193.25” IDENTIFIED BY “123@asdf”; 
123@asdf是登录密码。 
第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

注意

1.具体生产环境根据自己的配置需要再进行配置。 
2.阿里云云服务器如果MySQL配置了远程访问还是无法访问,可能是阿里云默认是不开放3306端口的。可以去阿里云的控制台修改网络配置。

7.修改字符集编码 UTF-8

查看当前的字符编码

show variables like 'char%'
  • 1

检测是否都是utf-8(filesystem除外),如果不是就得改,例如这个character_set_server一般是拉丁编码 
修改编码

//停数据库
systemctl stop mysqld

//进入 my.cnf 文件,一般是在etc路径下
vim /etc/my.cnf
//加入要修改的字符集 修改完:wq退出
在[mysqld]下追加:
character-set-server=utf8
在[mysql]下追加:
default-character-set=utf8

//重启数据库
systemctl start mysqld
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

* 8.题外话

当你在安装CentOS6.8上安装Mysql5.7的时候,它可能会提示你需要更高glibc的相关库,如下提示

libc.so.6: version `GLIBC_2.14' not found

--> Processing Dependency: libc.so.6(GLIBC_2.17)(64bit) for package: mysql-community-server-5.7.18-1.el7.x86_64
--> Finished Dependency Resolution
Error: Package: mysql-community-client-5.7.18-1.el7.x86_64 (mysql57-community)
           Requires: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
Error: Package: mysql-community-server-5.7.18-1.el7.x86_64 (mysql57-community)
           Requires: libc.so.6(GLIBC_2.17)(64bit)
Error: Package: mysql-community-client-5.7.18-1.el7.x86_64 (mysql57-community)
           Requires: libc.so.6(GLIBC_2.14)(64bit)
Error: Package: mysql-community-libs-5.7.18-1.el7.x86_64 (mysql57-community)
           Requires: libc.so.6(GLIBC_2.14)(64bit)
Error: Package: mysql-community-server-5.7.18-1.el7.x86_64 (mysql57-community)
           Requires: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
Error: Package: mysql-community-server-5.7.18-1.el7.x86_64 (mysql57-community)
           Requires: systemd
 You could try using --skip-broken to work around the problem
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

这种提示的原因是你的glibc的库的版本太低。glibc是linux系统中最底层的api,随便更改底层库可能会造成系统的不稳定。是跟系统内核密切相关的东西,你与其去更新这个底层库,还不如去跟新Linux的版本。 
所以我的建议是提升系统版本到CentOS7,再装MySQL(安装过程顺畅无比)。 
当然如果有兴趣的同学可以去尝试一下更新,附上glibc的下载地址 : 传送门

猜你喜欢

转载自java-doom.iteye.com/blog/2397118