系统版本:centos6.5 64位操作系统
安装环境:使用shell 命令
工具:WIMscp 和 putty
此次安装在桌面环境下,使用shell命令进行安装,下载安装包为:
MySQL-5.6.25-1.linux_glibc2.5.x86_64.rpm-bundle
以下是按照步骤。如果有一些包的名称不一致,请忽略。
a. 检查MySQL及相关RPM包,是否安装,如果有安装,则移除(rpm –e 名称 #)
[root@localhost ~]# rpm -qa | grep -i mysql
mysql-libs-5.1.66-2.el6_3.x86_64
[root@localhost ~]# yum -y remove mysql-libs*
b. 选择Linux对应的RPM包,如下:
[root@localhost rpm]# ll
total 74364
-rw-r–r–. 1 root root 18442536 Dec 11 20:19 MySQL-client-5.6.15-1.el6.x86_64.rpm
-rw-r–r–. 1 root root 3340660 Dec 11 20:06 MySQL-devel-5.6.15-1.el6.x86_64.rpm
-rw-r–r–. 1 root root 54360600 Dec 11 20:03 MySQL-server-5.6.15-1.el6.x86_64.rpm
这里,我是直接把MySQL-5.6.25-1.linux_glibc2.5.x86_64.rpm-bundle用WIMscp工具复制到linux服务端的。
复制过去后,使用解压命令:
tar –xvf file.tar 解压 tar包
c. 安装MySQL
[root@localhost rpm]# rpm -ivh MySQL-server-5.6.15-1.el6.x86_64.rpm
[root@localhost rpm]# rpm -ivh MySQL-devel-5.6.15-1.el6.x86_64.rpm
[root@localhost rpm]# rpm -ivh MySQL-client-5.6.15-1.el6.x86_64.rpm
复制配置文件位置(这一步我没做)
[root@localhost rpm]# cp /usr/share/mysql/my-default.cnf /etc/my.cnf
这里遇到一个问题:CentOS下安装官方RPM包的MySQL后,/etc/目录下找不到my.cnf
我的解决方法是直接在/etc/目录下建立一个空的文件。
touch my.cnf
d. 初始化MySQL及设置密码
[root@localhost rpm]# /usr/bin/mysql_install_db
[root@localhost rpm]# service mysql start
[root@localhost rpm]# cat /root/.mysql_secret #查看root账号密码
# The random password set for the root user at Wed Dec 11 23:32:50 2013 (local time): qKTaFZnl
[root@localhost ~]# mysql -uroot –pqKTaFZnl
mysql> SET PASSWORD = PASSWORD('123456');#设置密码为123456
mysql> exit
[root@localhost ~]# mysql -uroot -p123456
e. 远程登陆用户设置
mysql> use mysql;
mysql> select host,user,password from user;
mysql> update user set password=password('123456') where user='root';
mysql> update user set host='%' where user='root' and host='localhost';
mysql> flush privileges;
mysql> exit
f. 设置开机自启动
[root@localhost ~]# chkconfig mysql on
[root@localhost ~]# chkconfig –list | grep mysql
mysql 0:off 1:off 2:on3:on4:on5:on6:off
g. MySQL的默认安装位置
/var/lib/mysql/ #数据库目录
/usr/share/mysql #配置文件目录
/usr/bin #相关命令目录
/etc/init.d/mysql #启动脚本
h. 修改字符集和数据存储路径
配置/etc/my.cnf文件,修改数据存放路径、mysql.sock路径以及默认编码utf-8.
[html] view plaincopy在CODE上查看代码片派生到我的代码片
[client]
password= 123456
port= 3306
default-character-set=utf8
[mysqld]
port= 3306
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
#(注意linux下mysql安装完后是默认:表名区分大小写,列名不区分大小写; 0:区分大小写,1:不区分大小写)
lower_case_table_names=1
#(设置最大连接数,默认为 151,MySQL服务器允许的最大连接数16384; )
max_connections=1000
[mysql]
default-character-set = utf8
可查看字符集
[html] view plaincopy
show variables like '%collation%';
show variables like '%char%';
I.如果想远程连接登录mysql则需要:授权,并关闭防火墙。
1.授权;在服务端进入mysql,输入以下命令
[sql] view plaincopy
[GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '这里是你的密码' WITH GRANT OPTION;]
OR
[sql] view plaincopy
[GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION;]
区别在于访问时是否需要写密码。
这句的作用是将所有的用户名,都设置能远程访问该mysql中所有的表,如果不想都放开,可以根据这个规则,来设置.grant 权限1,权限2,…权限n on 数据库名.表名 to用户名@用户地址 identified by‘口令’.
2.关闭防火墙
[html] view plaincopy
service iptables stop 关闭命令
chkconfig iptables off 永久关闭防火墙
两个命令同时运行,运行完成后查看防火墙关闭状态
[html] view plaincopy
service iptables status
到此,mysql就安装完成并配置成功了
题外问题:
--------- -- 添加用户
-- grant all on *.* to 'devuser'@'localhost' identified by 'dev#1234' with grant option;
-- FLUSH PRIVILEGES;
-- -- 给用户赋权限
-- grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;
-- GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON my_crm.* TO dev@'%' identified by 'dev'; ;
-- FLUSH PRIVILEGES;
-- 验证
-- select * from mysql.`user`