技术杂谈(2)——centos7安装mysql

5) 安装MySQL(centos7如下版本)

a) # lsb_release –a 查看Linux版本号
b) 下载与当前Linux版本相匹配的MySQL版本
因为MySQL网站Linux版本须要用Google的js 代码,没法下载,能够到以下镜像:http://mirror.bit.edu.cn/mysql/Downloads/MySQL-5.6/
MySQL-client-5.6.25-1.rhel5.x86_64
MySQL-server-5.6.25-1.rhel5.x86_64
c) 建立目录并上传  mkdir -p usr/local/mysql
d) 安装服务器端
]# rpm -ivh MySQL-server-5.6.25-1.rhel5.x86_64.rpm
测试是否成功可运行netstat看Mysql端口是否打开,如打开表示服务已经启动,安装成功。Mysql默认的端口是3306。
e) 安装客户端
]# rpm -ivh MySQL-client-5.6.25-1.rhel5.x86_64.rpm
f) # service mysqld start 启动失败
CentOS7的默认数据库已经再也不是MySQL了,而是MariaDBnode

6) centos7中卸载MariaDB和MySQL

a) 查看centos版本
]# cat /etc/redhat-release
b) 卸载MariaDB
查看当前安装的mariadb包:# rpm -qa | grep mariadb
都卸载掉:# rpm -e –nodeps mariadb-libs-5.5.41-2.el7_0.x86_64
c) 查看是否已经安装了MySQL
]# rpm -qa | grep -i mysql
d) 卸载MySQL
]# rpm -e MySQL-client-5.6.25-1.rhel5.x86_64
]# rpm -e MySQL-server-5.6.25-1.rhel5.x86_64
没法正常卸载时
]# yum remove MySQL-shared-advanced-5.6.22-..
e) 删除分散mysql文件
]# find / -name mysql / # whereis mysql
f) 删除配置文档
]# rm -rf /etc/my.cnf
g) 再次查找机器是否安装mysql
]# rpm -qa|grep -i mysqlmysql

7) centos7中安装MySQL

a) 上传至/usr/local/rpmweb

MySQL-client-advanced-5.6.22-1.el7.x86_64.rpm
MySQL-server-advanced-5.6.22-1.el7.x86_64.rpmsql

b) 建立MySQL用户及mysql目录数据库

]#groupadd mysql
]#useradd -r -g mysql mysql
]# mkdir mysql/data/mysql
]# mkdir mysql/data/test
]# mkdir mysql/bin
]#cd /usr/local/mysql
]#sudo chown -R mysql .
]#sudo chgrp -R mysql .centos

c) 安装rpm包服务器

]# rpm –ivh MySQL-server-advanced-5.6.22-1.el7.x86_64.rpmsvg

出现以下异常:
FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db:
Data::Dumper
解决方案:
]# yum install -y perl-Module-Install.noarch测试

缘由:
在centos7环境中没有找到离线安装的办法,只能在线安装,须要调整到可联网状态。虚拟机中的话,能够调整到nat模式下。网站

先卸载已安装失败的rpm包
]# rpm –ev MySQL-server-advanced-5.6.22-1.el7.x86_64.rpm

再次安装rpm包
]# rpm –ivh MySQL-server-advanced-5.6.22-1.el7.x86_64.rpm
]# rpm –ivh MySQL-client-advanced-5.6.22-1.el7.x86_64.rpm

New default config file was created as /usr/my.cnf and
will be used by default by the server when you start it.
You may edit this file to change server settings

d) 初始化mysql配置文件

]# vi /usr/my.cnf
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
user = mysql

e) 启动MySQL

]# service mysql start

出现异常:
ERROR! The server quit without updating PID file (/var/lib/mysql/master.pid).

启动日志中显示:
[ERROR] Fatal error: Can’t open and lock privilege tables: Table ‘mysql.user’ doesn’t exist

解决方案:
my.cnf中增长配置
user = mysql

]# service mysql start

发生异常:
Starting MySQL ERROR! Couldn’t find MySQL server (/usr/local/mysql/bin/mysqld_safe)

解决方案:
]# cp /usr/bin/mysqld_safe /usr/local/mysql/bin/mysqld_safe

发生异常,又回到了第一个异常,回到了原点

分析:
执行service mysql start这个的时候必定是发生了什么,那这个命令到底执行了什么?/etc/init.d/mysql脚本中显示,一切都只在usr/bin下面发生,my.cnf什么的都是瞎扯!整个mysql用户、目录都没用。
]# cd /usr/bin
]# service mysql start
Starting MySQL…… SUCCESS!

f) 查看启动监听信息

]# netstat -lnp | grep -i mysql
]# service mysql status

g) 首次登录mysql

]# mysql -uroot –p
直接回车以后,异常:
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)

解决方案:
A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !
You will find that password in ‘/root/.mysql_secret’.
You must change that password on your first connect,
no other statement but ‘SET PASSWORD’ will be accepted.
See the manual for the semantics of the ‘password expired’ flag.

[root@master bin] # cat /root/.mysql_secret [root@master bin] # mysql -uroot –p mysql> set password for root@localhost = password(‘12’); mysql> show databases; mysql> use mysql; mysql> show tables; mysql> quit;