您当前的位置: 首页 >  sql

Dongguo丶

暂无认证

  • 0浏览

    0关注

    472博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

在CentOS7 上安装 MySQL5.7最完整的图文教程

Dongguo丶 发布时间:2018-04-07 15:37:27 ,浏览量:0

一:安装流程

1 xshell 连接到腾讯云 CentOS7 服务器;

2 进入到目录 /usr/local/ 中:

cd /usr/local/

3 创建目录 /usr/local/tools,如果有则忽略:

mkdir -p tools

4 创建 /usr/local/mysql 目录,如果已存在则忽略:

mkdir -p mysql

5 进入到目录 /usr/local/tools 中:

cd tools/

6 查看系统中是否已安装 MySQL 服务:

rpm -qa | grep mysql

yum list installed | grep mysql

7 如果已安装则删除 MySQL 及其依赖的包:

yum -y remove mysql-libs.x86_64

8 下载 mysql57-community-release-el7-8.noarch.rpm 的 YUM 源:

wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

9 安装 mysql57-community-release-el7-8.noarch.rpm:

rpm -ivh mysql57-community-release-el7-8.noarch.rpm

安装完后,得到如下两个包:

mysql-community.repo

mysql-community-source.repo

10 安装 MySQL:

yum install mysql-server

遇到疑问的地方,一路 Y 下去即可;

安装完毕后;

二:配置流程

根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。

重置密码

# vim /etc/my.cnf

在[mysqld]的段中加上一句:skip-grant-tables

例如:

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

skip-grant-tables

保存并且退出vi。

打圈的#号去掉就可以了···

重新启动mysqld

启动 MySQL 服务:

service mysqld start

关闭 MySQL 服务:

service mysqld stop

重启 MySQL 服务:

service mysqld restart

查看 MySQL 的状态:

service mysqld status

登录并修改MySQL的root密码

# mysql

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 3 to server version: 3.23.56

Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.

mysql> USE mysql ;

Database changed

mysql> update mysql.user set authentication_string=password('你的新密码') where user='root';

Query OK, 0 rows affected (0.00 sec)

Rows matched: 2 Changed: 0 Warnings: 0

mysql> flush privileges ;

Query OK, 0 rows affected (0.01 sec)

mysql> quit;

将MySQL的登录设置修改回来

# vim /etc/my.cnf

将刚才在[mysqld]的段中加上的skip-grant-tables删除

保存并且退出vim

重新启动mysqld

# service mysqld restart

三:解决远程连接mysql错误1130

远程连接Mysql服务器的数据库,错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server

猜想是无法给远程连接的用户权限问题。

这样子操作mysql库,即可解决。

在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'即可

命令:

mysql -u root -p

mysql;use mysql;

mysql;select 'host' from user where user='root';

mysql;update user set host = '%' where user ='root';

mysql;flush privileges;

mysql;select 'host' from user where user='root';

第一句:以权限用户root登录

第二句:选择mysql库

第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)

第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址

如果这步出错"ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'" 由说明该记录有了,跳过这步

第五句:刷新MySQL的系统权限相关表

第六句:再重新查看user表时,有修改。。

重起mysql服务即可完成。

用工具就可以连上了

四:修改MySQL 的字符集

登录mysql

查看 MySQL 的字符集:

mysql> show variables like '%character%';

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | latin1 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

设置 MySQL 的字符集为 UTF-8:

打开 /etc 目录下的 my.cnf 文件(此文件是 MySQL 的主配置文件):

/etc/my.cnf

在 [mysqld] 前添加如下代码:

[client]

default-character-set=utf8

在 [mysqld] 后添加如下代码:

character_set_server=utf8

再次查看字符集:

mysql> show variables like '%character%';

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

五:设置开机启动

1: 在centos7中服务不在是用service这个命令来启动与停止,也不再用chkconfig来设置开机启动与否!

在centos7中所有对服务的管理都集中到了systemctl当中;systemctl不再是合之前一样依赖/etc/init.d/下的脚本,它是通过配置文件来完成对服务的管理的;

2:创建systemctl管理mysql的配置文件

命令:touch /usr/lib/systemd/system/mysql.service

3:配置文件样例:

[Unit]

Description=MySQL Server

Documentation=man:mysqld(8)

Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html

After=network.target

After=syslog.target

[Install]

WantedBy=multi-user.target

[Service]

User=mysql

Group=mysql

ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf

LimitNOFILE = 5000

#Restart=on-failure

#RestartPreventExitStatus=1

#PrivateTmp=false

在systemctl配置文件中#号用来表示注释,这里最重要的一行是ExecStart它表示当systemctl去启动mysql时要执行的命令。在你的系统上只要换掉这一句就可以了。

4:通过systemctl 来设置mysql开机启动:

[root@workstudio system]# systemctl enable mysqlCreated symlink from /etc/systemd/system/multi-user.target.wants/mysql.service to /usr/lib/systemd/system/mysql.service.[root@workstudio system]#

好了设置完这些数据库基本安装完毕,可以正常使用了,如果遇到报错,可以去问下百度

关注
打赏
1638062488
查看更多评论
立即登录/注册

微信扫码登录

0.0418s