首先我先给大家介绍下 MariaDB 和 MySQL 的区别.
上图,"MySQL 之父" 的骨灰级程序员 Monty, 但是 MySQL 被 Oracle 收购后, Monty 又开始去发展另一条数据库的道路, 并且以 Monty 的女儿名称 Maria 命名了 MariaDB, 在 centos7 中 yum 中有 MariaDB, 但是找不到 MySQL 数据库. 事实, MariaDB 是 MySQL 另一个身份, MySQL 中的 sql 和命令都可以在 MariaDB 中使用. 但是一些老技术人员能还是喜欢使用 MySQL, 并且公司也会要求使用 MySQL, 而不是 MariaDB. 那么现在 centos7 下去安装 MySQL 数据库很多人安装有问题, 甚至安装时一路磕磕绊绊. 接下来我给大家提供安装步骤, 只要你一步步走来下, 就可以安装成功.
数据库安装
介绍 centos7
当前 centos7 下安装 MySQL 真的很费劲, 韩老师也是醉了好久, 只从 centos7 上有了 Mariadb,MySQL 安装更加难, 百度上能找的我都找遍了, 都不能配置下来. 今天废了九牛二虎之力才把 MySQL 在 centos7 上安装成功. 这里特别说下, MySQL 并不是在 Linux 上安装很难, 只是在 centos7 上安装费劲而已.
正式开始安装 MySQL 数据库
查询出来已安装的 mariadb
rpm -qa|grep mariadb
卸载 mariadb
rpm -e --nodeps 文件名
删除 etc 目录下的 my.cnf(没有可以忽略)
rm /etc/my.cnf
创建 MySQL 用户组
groupadd MySQL
创建一个用户名为 MySQL 的用户并加入 MySQL 用户组
useradd -g MySQL MySQL
将下载的压缩包放到 /usr/local/ 目录下
tar -zxvf MySQL-5.6.34-Linux-glibc2.5-x86_64.tar -C /usr/local
重命名为 MySQL
mv MySQL-5.6.34-Linux-glibc2.5-x86_64 MySQL
在 etc 下添加配置文件 my.cnf
这里我们可以去 / usr/local/MySQL/support-files 下拷贝一份 my-default.cnf 到 / etc 下并重命名 my.cnf
cp /MySQL/support-files/my-default.cnf /etc/my.cnf
配置 / etc 目录下的 my.cnf
编辑 vi /etc/my.cnf, 把下面的代码全部复制到 my.cnf 文件下, 这里中文注释复制到 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
进入安装 MySQL 软件目录
[root@localhost MySQL]#cd /usr/local/MySQL
修改当前目录拥有着为 MySQL 用户
[root@localhost MySQL]#chown -R MySQL:MySQL ./
安装数据库
[root@localhost MySQL]#./scripts/mysql_install_db --user=MySQL --basedir=/usr/local/MySQL/ --datadir=/usr/local/MySQL/data/
注意: 在安装 MySQL 数据库时, 这里也许会给你报一个错误, 说是没有找到 xxx 解析器, 莫惊慌, 我给你解决... 上述错误是因为操作系统缺失了一个 Data:Dumper 模块, 我们安装下即可.
安装 autoconf 库 (此库安装时会安装 Data:Dumper 模块)
yum -y install autoconf
安装完成后, 重新回到安装数据库步骤, 执行安装数据库命令, 这时即可.
修改当前 data 目录的拥有者为 MySQL 用户
chown -R MySQL:MySQL data
到此数据库安装完毕!
配置 MySQL
授予 my.cnf 最大权限
chmod 777 /etc/my.cnf
设置开机自启动服务控制脚本
[root@localhost MySQL]# cp ./support-files/MySQL.server /etc/rc.d/init.d/mysqld
增加 mysqld 服务控制脚本执行权限
[root@localhost MySQL]# chmod +x /etc/rc.d/init.d/mysqld
将 mysqld 服务加入到系统服务
[root@localhost MySQL]# chkconfig --add mysqld
检查 mysqld 服务是否已经生效
[root@localhost MySQL]# chkconfig --list mysqld
命令输出类似下面的结果:
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
表明 mysqld 服务已经生效, 在 2,3,4,5 运行级别随系统启动而自动启动, 以后可以使用 service 命令控制 MySQL 的启动和停止
数据库启停命令
命令为: service mysqld start 和 service mysqld stop
启动 mysqld
service mysqld start
将 MySQL 的 bin 目录加入 PATH 环境变量
- vi /etc/profile
- export PATH=$PATH:/usr/local/MySQL/bin
- source /etc/profile
以 root 账户登录 MySQL, 默认是没有密码的
MySQL -uroot -p
要输入密码的时候直接回车即可.
设置 root 账户密码为 root(也可以修改成你要的密码)
- MySQL>use MySQL;
- MySQL>update user set password=password('root') where user='root' and host='localhost';
- MySQL>flush privileges;
设置远程主机登录
注意下面的 your username 和 your password 改成你需要设置的用户和密码
MySQL>GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;
到此为止就配置好了 MySQL 数据库. 希望我背后的汗水能换来你现在的轻松...
来源: http://www.bubuko.com/infodetail-2914099.html