欢迎光临
专业Linux运维二十年

centos7 mysql数据库安装和配置

一、系统环境

yum update升级以后的系统版本为

?
1
2
[root@yl-web yl]
# cat /etc/redhat-release
centos linux release 7.1.1503 (core)

二、mysql安装

一般网上给出的资料都是

?
1
2
3
#yum install mysql
#yum install mysql-server
#yum install mysql-devel

安装mysql和mysql-devel都成功,但是安装mysql-server失败,如下: 

?
1
2
3
4
5
6
7
8
[root@yl-web yl]
# yum install mysql-server
loaded plugins: fastestmirror
loading mirror speeds from cached hostfile
 
* base: mirrors.sina.cn
 
* extras: mirrors.sina.cn
 
* updates: mirrors.sina.cn
no package mysql-server available.
error: nothing to
do

查资料发现是centos 7 版本将mysql数据库软件从默认的程序列表中移除,用mariadb代替了。

有两种解决办法:

1、方法一:安装mariadb

mariadb数据库管理系统是mysql的一个分支,主要由开源社区在维护,采用gpl授权许可。开发这个分支的原因之一是:甲骨文公司收购了mysql后,有将mysql闭源的潜在风险,因此社区采用分支的方式来避开这个风险。mariadb的目的是完全兼容mysql,包括api和命令行,使之能轻松成为mysql的代替品。

安装mariadb,大小59 m。

?
1
[root@yl-web yl]
# yum install mariadb-server mariadb

mariadb数据库的相关命令是:

?
1
2
3
4
5
6
7
systemctl start mariadb
#启动mariadb
 
systemctl stop mariadb
#停止mariadb
 
systemctl restart mariadb
#重启mariadb
 
systemctl
enable
mariadb
#设置开机启动

所以先启动数据库

?
1
[root@yl-web yl]
# systemctl start mariadb

然后就可以正常使用mysql了 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@yl-web yl]
# mysql -u root -p
enter password:
welcome to the mariadb monitor. commands end with ; or \g.
your mariadb connection
id
is 3
server version: 5.5.41-mariadb mariadb server
 
copyright (c) 2000, 2014, oracle, mariadb corporation ab and others.
 
type
'help;'
or
'\h'
for
help.
type
'\c'
to
clear
the current input statement.
 
mariadb [(none)]> show databases;
+--------------------+
| database  |
+--------------------+
| information_schema |
| mysql  |
| performance_schema |
|
test 
|
+--------------------+
4 rows
in
set
(0.00 sec)
 
mariadb [(none)]>

安装mariadb后显示的也是 mariadb [(none)]> ,可能看起来有点不习惯。下面是第二种方法。

2、方法二:官网下载安装mysql-server

?
1
2
3
# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
# rpm -ivh mysql-community-release-el7-5.noarch.rpm
# yum install mysql-community-server

安装成功后重启mysql服务。

?
1
# service mysqld restart

初次安装mysql,root账户没有密码。 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@yl-web yl]
# mysql -u root
welcome to the mysql monitor. commands end with ; or \g.
your mysql connection
id
is 3
server version: 5.6.26 mysql community server (gpl)
 
copyright (c) 2000, 2015, oracle and
/or
its affiliates. all rights reserved.
 
oracle is a registered trademark of oracle corporation and
/or
its
affiliates. other names may be trademarks of their respective
owners.
 
type
'help;'
or
'\h'
for
help.
type
'\c'
to
clear
the current input statement.
 
mysql> show databases;
+--------------------+
| database  |
+--------------------+
| information_schema |
| mysql  |
| performance_schema |
|
test 
|
+--------------------+
4 rows
in
set
(0.01 sec)
 
mysql>

 设置密码

?
1
2
3
4
mysql>
set
password
for
'root'
@
'localhost'
=
password
(
'password'
);
query ok, 0
rows
affected (0.00 sec)
 
mysql>

不需要重启数据库即可生效。

在mysql安装过程中如下内容: 

?
1
2
3
4
5
6
7
8
9
10
installed:
 
mysql-community-client.x86_64 0:5.6.26-2.el7  mysql-community-devel.x86_64 0:5.6.26-2.el7 
 
mysql-community-libs.x86_64 0:5.6.26-2.el7   mysql-community-server.x86_64 0:5.6.26-2.el7 
 
dependency installed:
 
mysql-community-common.x86_64 0:5.6.26-2.el7         
 
replaced:
 
mariadb.x86_64 1:5.5.41-2.el7_0  mariadb-devel.x86_64 1:5.5.41-2.el7_0 mariadb-libs.x86_64 1:5.5.41-2.el7_0
 
mariadb-server.x86_64 1:5.5.41-2.el7_0

所以安装完以后mariadb自动就被替换了,将不再生效。

?
1
2
[root@yl-web yl]
# rpm -qa |grep mariadb
[root@yl-web yl]
#

三、配置mysql

1、编码

mysql配置文件为/etc/my.cnf

最后加上编码配置

?
1
2
[mysql]
default-character-
set
=utf8

这里的字符编码必须和/usr/share/mysql/charsets/index.xml中一致。

2、远程连接设置

把在所有数据库的所有表的所有权限赋值给位于所有ip地址的root用户。

?
1
mysql>
grant
all
privileges
on
*.*
to
root@
'%'
identified
by
'password'
;

如果是新用户而不是root,则要先新建用户

?
1
mysql>
create
user
'username'
@
'%'
identified
by
'password'
;

此时就可以进行远程连接了。

脚本之家
赞(0) 打赏
未经允许不得转载:Linux老运维 » centos7 mysql数据库安装和配置

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫