1. 查找以前是否安装有mysql,使用下面命令:
rpm -qa|grep -i mysql
如果显示有如下包则说明已安装mysql
[root@interBus-mysql-02 local]# rpm -qa|grep -i mysql
mysql-libs-5.1.73-7.el6.x86_64
2.如果已安装,则需要删除已安装的数据库,使用以下命令来删除数据库(如果没有则跳过该操作)
先停止正在运行的mysql数据库
[root@interBus-mysql-02 local]# service mysql stop
Shutting down MySQL.... SUCCESS!
通过以下命令删除mysql数据库及相关依赖包
[root@interBus-mysql-02 local]# yum -y remove mysql-libs*
删除老版本mysql的开发头文件和库
命令:
[root@interBus-mysql-02 local]# rm -fr /usr/lib/mysql
[root@interBus-mysql-02 local]# rm -fr /usr/include/mysql
注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除
[root@interBus-mysql-02 local]# rm -f /etc/my.cnf
[root@interBus-mysql-02 local]# rm -fr /var/lib/mysql
3.下载mysql的rpm包并上传值linux服务器(下载地址:http://pan.baidu.com/s/1pLjSxEb,下载后解压可得7个mysql相关的RPM包,安装以下3个即可使用),也可直接从官网下载
MySQL-server-5.6.28-1.linux_glibc2.5.x86_64.rpm MySQL服务器;
MySQL-client-5.6.28-1.linux_glibc2.5.x86_64.rpm MySQL客户端;
MySQL-devel-5.6.28-1.linux_glibc2.5.x86_64.rpm Mysql开发依赖包
如下:
[root@interBus-mysql-02 mysql-5.6.28]# pwd
/usr/local/soft/mysql-5.6.28
[root@interBus-mysql-02 mysql-5.6.28]# ll
total 113928
-rw-r--r-- 1 root root 23157347 Nov 18 2015 MySQL-client-5.6.28-1.linux_glibc2.5.x86_64.rpm
-rw-r--r-- 1 root root 4588492 Nov 18 2015 MySQL-devel-5.6.28-1.linux_glibc2.5.x86_64.rpm
-rw-r--r-- 1 root root 88909659 Nov 18 2015 MySQL-server-5.6.28-1.linux_glibc2.5.x86_64.rpm
4.安装MySQL Server的rpm包
[root@interBus-mysql-02 mysql-5.6.28]# rpm -ivh MySQL-server-5.6.28-1.linux_glibc2.5.x86_64.rpm
注意,这一步执行成功后会出现一大堆信息找到如下信息从这边获取mysql数据库root用户的初始密码
[root@interBus-mysql-02 mysql-5.6.28]# cat /root/.mysql_secret
# The random password set for the root user at Thu Mar 9 14:21:08 2017 (local time): 5Bi5xI5fLBY_F8_P
(这边的5Bi5xI5fLBY_F8_P就是root用户的初始密码,后面要用到)
5.安装mysql客户端
[root@interBus-mysql-02 mysql-5.6.28]# rpm -ivh MySQL-client-5.6.28-1.linux_glibc2.5.x86_64.rpm
warning: MySQL-client-5.6.28-1.linux_glibc2.5.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ########################################### [100%]
1:MySQL-client ########################################### [100%]
6.安装mysql依赖包
[root@interBus-mysql-02 mysql-5.6.28]# rpm -ivh MySQL-devel-5.6.28-1.linux_glibc2.5.x86_64.rpm
warning: MySQL-devel-5.6.28-1.linux_glibc2.5.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ########################################### [100%]
1:MySQL-devel ########################################### [100%]
7.启动msyql
安装完成后mysql是没有启动的,运行mysql命令会提示如下错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
可使用如下命令启动MySQL:
[root@interBus-mysql-02 mysql-5.6.28]# service mysql start
Starting MySQL. SUCCESS!
或者使用如下命令:
/etc/init.d/mysql start
8.使用之前生成的初始密码登入mysql数据库
[root@interBus-mysql-02 mysql-5.6.28]# mysql -p
bash: /usr/local/mysql/bin/mysql: No such file or directory
出现该错误,使用su mysql 切换用户进行登入
[root@interBus-mysql-02 mysql-5.6.28]# su mysql
bash-4.1$
bash-4.1$
bash-4.1$ mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
bash-4.1$ mysql -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.28
至此,成功登入数据库,通过一下命令修改密码
mysql> SET PASSWORD = PASSWORD('root');
Query OK, 0 rows affected (0.00 sec)
9.这时候windows客户端还是无法远程连接上mysql服务器,报错信息如下
具体解决方案参照:https://my.oschina.net/u/2988360/blog/854908
10.刚装完数据库的时候window通过navicat访问局域网mysql服务器时发现能连接上,但是速度超级慢;而我访问阿里云服务器中的数据库时速度很快,可能与局域网中主机名的解析有关系,解决方法如下
10.1找到mysql配置文件my.cnf
[root@interBus-mysql-02 local]# find / -type f -name my.cnf
/usr/my.cnf
/home/mysql-5.6.26/storage/ndb/test/crund/config_samples/my.cnf
/home/mysql-5.6.26/packaging/deb-jessie/extra/my.cnf
/home/mysql-5.6.26/packaging/rpm-docker/my.cnf
/home/mysql-5.6.26/packaging/deb-wheezy/extra/my.cnf
/home/mysql-5.6.26/packaging/rpm-sles/my.cnf
/home/mysql-5.6.26/packaging/deb-precise/extra/my.cnf
/home/mysql-5.6.26/packaging/deb-utopic/extra/my.cnf
/home/mysql-5.6.26/packaging/rpm-oel/my.cnf
/home/mysql-5.6.26/packaging/rpm-fedora/my.cnf
/home/mysql-5.6.26/packaging/deb-trusty/extra/my.cnf
/home/mysql-5.6.26/mysql-test/suite/ndb_team/my.cnf
/home/mysql-5.6.26/mysql-test/suite/ndb/my.cnf
/home/mysql-5.6.26/mysql-test/suite/rpl_ndb/my.cnf
/home/mysql-5.6.26/mysql-test/suite/ndb_big/my.cnf
/home/mysql-5.6.26/mysql-test/suite/rpl/my.cnf
/home/mysql-5.6.26/mysql-test/suite/rpl/extension/bhs/my.cnf
/home/mysql-5.6.26/mysql-test/suite/federated/my.cnf
/home/mysql-5.6.26/mysql-test/suite/ndb_binlog/my.cnf
/home/mysql-5.6.26/mysql-test/suite/ndb_rpl/my.cnf
[root@interBus-mysql-02 local]#
10.2在my.cnf中添加跳过解析主机操作的配置(skip-name-resolve)
[root@interBus-mysql-02 local]# vim /usr/my.cnf
[mysqld]
skip-name-resolve
10.3重启mysql数据库可解决navicate远程连接慢的问题
11. mysql数据库授权
mysql> CREATE USER'wenhaijin'@'10.1.50.96' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT all ON *.* to 'wenhaijin'@'10.1.50.96';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
授权wenhaijin用户拥有所有库中所有表的操作权限,控制wenhaijin用户在10.1.50.96这台主机上通过密码“123456”登入
授权说明: 用户对哪一个数据库有操作权限,是要用root用户进行授权的。 创建用户: CREATE USER'username'@'host' IDENTIFIED BY 'password'; 其中username 是用户名,host是可以进行远程访问数据库的服务器地址。 给用户授权: GRANT privileges ON databasename.tablename TO 'username'@'host'; 给'username'@'host'用户进行授权,其中privileges是要授予的权限,可以是all privileges、select、update等。databasename.tablename是要访问的某个数据库中的某张表,如果是所有的,则可以用*。
注意:如果在第2步卸载mysql过程中没有卸载干净,尝试用rpm -e重新删一下
[root@wenhaijin mysql-5.6.28]# rpm -e MySQL-server-5.6.28-1.linux_glibc2.5.x86_64