1、准备工作
从MySQL官网上分别下载mysql服务器端于客户端包:
MySQL-server-5.5.31-1.linux2.6.x86_64.rpm
MySQL-client-5.5.31-1.linux2.6.x86_64.rpm

2、检测系统是否安装MySQL
#rpm -qa | grep -i mysql
若已安装过,会出现:
MySQL-server-5.0.22-0.i386
MySQL-client-5.0.22-0.i386
那么输入以下命令删除它:
#rpm -ev MySQL-server-5.0.22-0.i386
# rpm -ev MySQL-client-5.0.22-0.i386
注意:若删除的时候,出现删除不成功,出现依赖的包,前提必须删除依赖项。rpm -ev dovecot-1.0.7-7.el5.x86_64

3、安装MySQL
# rpm -ivh MySQL-server-5.5.31-1.linux2.6.x86_64.rpm
# rpm -ivh MySQL-client-5.5.31-1.linux2.6.x86_64.rpm

4、写配置文件
拷贝配置文件到/etc目录下,并命名为my.cnf (必须名为my.cnf)
#cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
编辑 my.cnf :
[client]
port = 3306
socket=/opt/sdb/mysql/mysql.sock
[mysqld]
datadir=/opt/sdb/mysql
socket=/opt/sdb/mysql/mysql.sock
port = 3306
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
lower_case_table_names=1
max_connections=1000

5、了解下默认安装位置及作用
初始化文件
2.配置文件    /usr/share/mysql (mysql.server命令及配置文件)
3.相关命令 /usr/bin (mysqladmin mysqldump等命令)
4.启动脚本    /etc/rc.d/init.d/ (启动脚本文件mysql的目录) 如:/etc/rc.d/init.d/mysql start/restart/stop/status
特别说明:SuSE Linux的启动脚本目录在 /etc/init.d 目录下,并且MySQL安装完成后,会缺少mysql.sock这个套接字文件,所以必须到这个目录下才能启动mysql
或者:初始化,执行mysqld --initialize --datadir=/opt/wifidb/mysql --user=mysql

6. 保存密码
这个时候,一般会出现临时密码,注意保存(可以用复制)
当没有密码时,可通过# grep "password" /var/log/mysqld.log 命令获取MySQL的临时密码
2016-01-19T05:16:36.218234Z 1 [Note] A temporary password is generated for root@localhost: waQ,qR%be
用该密码登录到服务端后,必须马上修改密码,不然会报错误,修改命令为:ALTER USER 'root'@'localhost' identified by '123456';
还需要修改/etc/init.d/mysql中的datadir为/opt/sdb/mysql
将/var/lib/mysql 文件夹拷贝到/opt/sdb目录下 cp -R /var/lib/mysql /opt/sdb
最后将/opt/sdb/mysql提权为mysql,chown -R mysql:mysql /opt/sdb/mysql

7、重启mysql服务
类似于安全模式登录系统,有人建议说是pkill mysql,但是我不建议哈。因为当你执行了这个命令后,会导致这样的状况:
/etc/init.d/mysql status
mysqld dead but subsys locked
这样即使你是在安全模式下启动mysql都未必会有用的,所以一般是这样/etc/init.d/mysqld stop,如果你不幸先用了pkill,那么就start一下再stop咯。
# mysqld_safe --skip-grant-tables &
&,表示在后台运行,不再后台运行的话,就再打开一个终端咯。
# mysql
mysql>use mysql;
mysql>UPDATE user SET authentication_string=password("test123") WHERE user='root';
mysql>flush privileges;
mysql>exit;

登陆后再次输入:
ALTER USER 'root'@'localhost' identified by 'password';
##本来mysql是不分大小写的,但是这个是修改的mysql中的mysql数据库的具体的值,要注意到。

10、设置远程访问:
# cd /usr/bin
# mysql -u root -p
mysql> use mysql;
mysql> grant all PRIVILEGES on *.* to root@'%' identified by 'password';
mysql> select host,user from user;
mysql>FLUSH PRIVILEGES;

12、MySQL导出导入
mysql> mysqldump abc(数据库名) --user=root --password > /root/abc.sql #导出整个库
mysql> mysqldump -u root -p abc(数据库名) user (表名)> /user.sql #导出单张表
注意,如果运行 mysqldump 没有指定 --quick 或 --opt 选项,则会将整个结果集放在内存中。如果导出大数据库的话可能会出现问题
导入:
mysql> CREATE DATABASE abc;
mysql> use abc;
mysql> source /root/abc.sql #导入数据库
mysql> source /user.sql #导入单张表