Centos7安装并配置mysql5.6

1.下载安装包:https://pan.baidu.com/s/18xAumOggjm9bu9Wty6kYjg

2、卸载系统自带的Mariadb

2.1查询已安装的mariadb

[root@localhost ~]# rpm -qa|grep mariadb

2.2卸载mariadb

[root@localhost ~]# rpm -e --nodeps 文件名

3、解压安装MySQL

3.1 删除etc目录下的my.cnf

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

3.2 执行以下命令来创建mysql用户组

[root@localhost ~]# groupadd mysql

3.3执行以下命令来创建一个用户名为mysql的用户并加入mysql用户组

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

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

mv /mnt/myusb/mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz /usr/local 

3.5  解压

tar -zxvf mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz

3.6 重命名文件夹

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

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

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

4、配置MySQL

1、定位到安装目录
[root@localhost ~]# cd /usr/local/mysql  
2、修改当前目录拥有着为mysql用户
[root@localhost mysql]# chown -R mysql:mysql ./  
3、初始化数据库     
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql
4、修改当前data目录拥有者为mysql用户
[root@localhost mysql]# chown -R mysql:mysql data

2019-08-05更新)若在运行上面第三步时出现FATAL ERROR: please install the following Perl modules before executing

是缺少autoconf插件,安装参考我的另一篇博客:https://www.cnblogs.com/congcongdi/p/11304803.html

以下是数据库的一些相关配置,保证数据库更好的运行。

4.1授予my.cnf最大权限


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

此处设置存在隐患:

  • 权限777,任何一个用户都可以改my.cnf,存在很大的安全隐患
  • 在开启和关闭服务时会出现警告(Warning: World-writable config file '/etc/my.cnf' is ignored),可能会造成服务无法关闭

所以应该设置成644,设置为用户可读写,其他用户不可写.

4.2复制启动脚本到资源目录

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

 4.3增加mysqld服务控制脚本执行权限

[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysql

 4.4将mysqld服务加入到系统服务

[root@localhost mysql]# chkconfig --add mysql

 4.5检查mysqld服务是否已经生效

[root@localhost mysql]# chkconfig --list mysql
命令输出类似下面的结果:
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止
命令为:service mysql start和service mysql stop

5、启动MySQL服务

[root@localhost mysql]# service mysqld start

6、配置环境变量,编辑/etc/profile,在文本最后添加:

#mysqL
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:${MYSQL_HOME}/bin

 配置之后执行source /etc/profile使配置生效

7、安装完成后,登录数据库发现让输入密码,然后并不知道密码,查资料才知道centos7安装mysql时会得到一个系统给的初始密码,需要自己进行修改

此处不一定每个人都需要输密码,可能默认是无密码登录的,在要输入密码的时候直接回车即可。

方法一:

grep 'temporary password' /var/log/mysql.log

运行后会得到一个密码,如果你什么都没有查到,说明你的mysql数据库时默认没有密码的,可以直接输入mysql登录,若不行,可尝试第二种方法。

方法二:

原理:修改MySQL 的配置文件,使其跳过密码验证,可以无密码登录,然后进行密码修改,之后恢复原配置文件

步骤:

修改前要先启动mysql,检查其运行状态

systemctl start mysql  #启动
service mysqld status  #查看运行状态

1>修改/etc/my.cnf

vim /etc/my.cnf

在配置文件的结束位置添加skip-grant-tables

 

2>重启MySQL

systemctl restart mysql

3>修改密码

  1.输入mysql免密码登录

  2.选择mysql数据库

  use mysql;

  3.修改密码

 update mysql.user set password=password(‘你的密码’) where user=’root’;

  4.修改完成后输入exit;退出,重新回到/etc/my.cnf该文件删除之前添加的skip-grant-tables语句即可完成密码修改

4> 重启MySQL,使用以下命令登录

mysql -uroot -p

然后输入上一步修改之后的密码即可登录。

9、允许远程访问数据库

由于数据库是放在服务器上的,没有可视化工具,操作不方便,所有可以允许远程访问,使用同一网段的有可视化工具的电脑就可以直接对数据库进行访问。

    1>进入mysql  mysql -uroot -p  输入密码登录

    2>选择mysql数据库use mysql;

    3>修改root远程访问

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

  4>更新数据库

FLUSH PRIVILEGES; 

  5>开放3306端口

10、导入数据库

   1>首先建空数据库

mysql>create database abc;

  2>导入数据库

mysql>use abc;                  #选择数据库
mysql>set names utf8;           #设置数据库编码
mysql>source sql文件所在路径;     #导入数据           

此时会看到很多查询语句,结束就导入成功了。



 

原文地址:https://www.cnblogs.com/congcongdi/p/10144685.html