一:安装流程
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]#
好了设置完这些数据库基本安装完毕,可以正常使用了,如果遇到报错,可以去问下百度