您的位置:首页 > 运维架构 > Linux

centos7下安装mysql5.6的详细步骤,以及所遇到的错误解答

2017-12-28 18:59 971 查看
参考连接:

https://weibo.com/ttarticle/p/show?id=2309404169272896136216&infeed=1

http://blog.csdn.net/qq_17776287/article/details/53536761

一、安装mysql

1、下载安装包(官网下载:https://downloads.mysql.com/archives/community/

过滤参数如下,然后找到包名为: mysql-5.6.34-linux-glibc2.5-x86_64.tar



2、卸载系统自带的Mariadb。

Centos7将默认数据库mysql替换成了Mariadb,所以要安装之前,需要先卸载Mariadb,打开Terminal终端:

[root@localhost ~]# rpm -qa|grep mariadb  // 查询出来已安装的mariadb
[root@localhost ~]# rpm -e --nodeps 文件名  // 卸载mariadb,文件名为上述命令查询出来的文件


3、删除etc目录下的my.cnf,如果文件不存在就执行下一步

[root@localhost ~]# rm /etc/my.cnf


4、创建mysql用户组

[root@localhost ~]# groupadd mysql


5、创建一个用户名为mysql的用户并加入mysql用户组

[root@localhost ~]# useradd -g mysql mysql


6、将下载的压缩包放到 /usr/local/ 目录下(通过mv 移动文件到 /usr/local/ )

mv 文件名 /usr/local/

7、解压安装包

[root@localhost ~]# tar -xvf mysql-5.6.34-linux-glibc2.5-x86_64.tar


注:如果压缩包为:mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz

[root@localhost ~]# tar -zxvf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz


8、将解压好的文件夹重命名为mysql

[root@localhost local]# mv 解压出来的文件夹名 mysql


9、copy一份my.cnf文件到/etc下,然后修改文件。

e g:copy一份/usr/local/mysql/support-files/下的my-default.cnf文件到/etc下

[root@localhost support-files]# cp my-default.cnf /etc/my.cnf


配置/etc目录下的my.cnf文件

[root@localhost support-files]# vim /etc/my.cnf


通过vim编辑器编辑my.cnf代码如下:

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock

[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_name=1
max_allowed_packet=16M


10、进入安装mysql软件目录

[root@localhost ~]# cd /usr/local/mysql
[root@localhost mysql]# chown -R mysql:mysql ./       修改当前目录拥有着为mysql用户
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/      安装数据库


此处可能出现错误。

错误1: FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db:

Data::Dumper

解决方法:

yum install -y perl-Data-Dumper

错误2:Installing MySQL system tables…./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

解决方法:

yum install libaio*

11、修改当前目录拥有者为root用户

[root@localhost mysql]# chown -R root:root ./


12、修改当前data目录拥有者为mysql用户

[root@localhost mysql]# chown -R mysql:mysql data


===============数据库安装完毕===============

二、配置

1、启动mysql服务和添加开机启动mysql服务

添加开机启动,把启动脚本放到开机初始化目录。

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql


2、启动mysql服务

创建缺少的文件

[root@localhost mysql]# mkdir /var/log/mariadb
[root@localhost mysql]# service mysql start
Starting MySQL.                                            [  OK  ]


3、把mysql客户端放到默认路径

[root@localhost mysql]# ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql


注意:建议使用软链过去,不要直接包文件复制,便于系统安装多个版本的mysql

=================== 这是分割线 ==================

通过使用 mysql -uroot -p 连接数据库(默认数据库的root用户没有密码,这个需要设置一个密码)。

错误信息:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

解决方法:打开/etc/my.cnf,看看里面配置的socket位置是什么目录。“socket=/var/lib/mysql/mysql.sock”

路径和“/tmp/mysql.sock”不一致。建立一个软连接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

到这里任务算是完成了。之后就可以创建数据库用户,然后使用数据库了。

################ 分割线

三、权限控制

1、去除匿名用户

测试匿名用户登录

[root@localhost mysql]# mysql -ux3


可以看到匿名用户可以登录,具有information_schema和test库的相关权限。

删除匿名用户,使用root用户登录数据库

mysql>delete from mysql.user where User='';
mysql>flush privileges;


再次测试匿名用户登录

2、修改密码

通过登录mysql系统,

[root@localhost mysql]# mysql -uroot -p
Enter password: 【输入原来的密码】
mysql>use mysql;
mysql> update user set password=passworD("test") where user='root';
mysql> flush privileges;
mysql> exit;


可能的错误:-bash:mysql:未找到命令。

解决:

[root@ecs-fede bin]# ln -s /usr/local/mysql/bin/mysql /usr/bin/​​​​
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐