Mysql在contos7中的安装和配置

卸载contos7自带的 mariadb

首先CentOS7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤。

列出所有被安装的rpm package

rpm -qa | grep mariadb

卸载掉 mariadb

rpm -e mariadb-libs-5.5.37-1.el7_0.x86_64

卸载可能出现一些错误无法卸载需要强制卸载

rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.x86_64

安装mysql步骤:

1 下载并安装MySQL官方的Yum Repository

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

2,安装Yum Repository

yum -y install mysql57-community-release-el7-10.noarch.rpm

3,开始安装mysql服务器

yum -y install mysql-community-server

启动mysql数据库

systemctl start  mysqld.service

查看运行状态

systemctl status mysqld.service

此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的初始化密码,通过如下命令可以在日志文件中找出密码:

grep "password" /var/log/mysqld.log

GRABT ALL PRIVILGESON *.* TO 'root'@'%'IDENTIFLED BY'root'WITH GRANT OPTION;

第一种方式设置密码:

进入数据库:

mysql -uroot -p (注意-u和用户名密码一定不能有空格)

输入初始化密码

此时需要设置新密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
新密码设置简单可能会报错,需要改变密码策略
set global validate_password_policy=0;
set global validate_password_length=1;
因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉 
yum -y remove mysql57-community-release-el7-10.noarch

第二种方式设置密码:
(1)
修改配置文件,进入mysql不用密码

vim /etc/my.cnf

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

保存退出!重启muysql服务

(2)登录并修改MySQLroot密码

mysql进入

USE mysql;

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

flush privileges ;

quit;

my.cnf 的刚刚的配置注释掉



解决远程连接mysql无法连接或错误问题

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

命令:

以权限用户root登录:

#mysql -uroot -p**

选择mysql:

mysql>use mysql;

查看mysql库的user表的host:

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

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

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

刷新MySQL的系统权限相关表

mysql>flush privileges;

用工具连接就成功了;


配置数据库的编码

登录mysql

查看mysql的字符集:

show variables like '%character%';


设置mysql的字符集为utf-8

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

vi /etc/my.cnf

[mysqld]前面添加下面代码:

[client]

default-character-set=utf8

[mysqld]后面添加代码:

character_set_server=utf8

重启mysql服务:

systemctl restart mysqld.service

再次查看字符集:

show variables like '%character%';

 

设置mysql开机启动服务:

1,创建systemctl管理mysql的配置文件

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

2,配置文件

[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




这里最重要的一行是ExecStart它表示当systemctl去启动mysql时要执行的命令。

3,通过systemctl来设置mysql开机启动

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

启动 MySQL 服务:

service mysqld start

systemctl start mysqld.service

关闭 MySQL 服务:

service mysqld stop

systemctl stop mysqld.service

重启 MySQL 服务:

service mysqld restart

systemctl restart mysqld.service

查看 MySQL 的状态:

service mysqld status

systemctl status mysqld.service

登录mysql

mysql -uroot -phmj123
注意进入mysql输入命令一定要;结尾,不然命令无法执行


安装以后文件对应的目录

mysql的数据文件和二进制文件: /var/lib/mysql/

mysql的配置文件: /etc/my.cnf

mysql的日志文件: /var/log/mysql.log

猜你喜欢

转载自www.cnblogs.com/mjie/p/10187027.html