CentOS6.8下使用yum安装mysql,并远程登陆mysql
yum安装5.6版本的mysql
一、检查系统是否安装其他版本的MYSQL数据
#yum list installed | grep mysql
有则删除所有
#yum -y remove mysql-libs.x86_64
二、安装及配置
# wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
# rpm -ivh mysql-community-release-el6-5.noarch.rpm
# yum repolist all | grep mysql
安装MYSQL数据库
# yum install mysql-community-server -y
设置为开机启动(2、3、4都是on代表开机自动启动)
# chkconfig --list | grep mysqld
# chkconfig mysqld on
三、设置远程root
启动mysql
# service mysqld start
设置密码,远程登录,开通防火墙访问见下面5.1案例(yum安装默认5.1版本的mysql)
四、设置utf-8编码
查看mysql原本编码:
mysql> show variables like 'character%';
设置编码
# vi /etc/my.cnf
如下(少补):
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[mysql]
default-character-set = utf8
[mysql.server]
default-character-set = utf8
[mysqld_safe]
default-character-set = utf8
[client]
default-character-set = utf8
重启mysql
# service mysqld restart
再次查看编码:
# mysql -uroot -p
mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
yum安装默认5.1版本的mysql
第1步、查看CentOS下是否已安装mysql
输入命令 :yum list installed | grep MySQL
第2步、删除已安装mysql
输入命令:yum -y remove mysql
看到complete就说明成功了
第3步、查看yum库中的mysql(非必须)
输入命令:yum list | grep mysql
第4步、从yum库中的安装mysql
输入命令: yum -y install mysql mysql-server mysql-devel
第5步、验证是否安装成功
输入命令:rpm -qi mysql-server
第6步、启动MySql服务
输入命令:service mysqld start
第7步、进入MySql
输入命令:mysql -u root
如果出现ERROR 2002 (HY000): Can‘t connect to
local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ 错误,可能是服务未开启,也可能是/var/lib/mysql的访问权限问题。
如果是服务未开启:service mysqld start
如果是访问权限问题:chown -R openscanner:openscanner
/var/lib/mysql
第8步、修改密码
mysql > use mysql;
mysql > UPDATE user SET Password=PASSWORD('123456') where USER='root';
第9步、用新密码登陆
mysql -u root –p
注:ssh端可能登录不了,那就不用密码登录:mysql -u root
第10步、开放远程登录权限
使用修改表的方法:
修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问mysql。
mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
注:可能更新时报错,可跳过该步
mysql> select host, user from user;
mysql> flush privileges;
第11步、开放3306端口
输入命令:vim /etc/sysconfig/iptables
添加
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
注意:state和dport前面是两个中横杠--。还有注意位置,放在80下面
然后重启 防火墙:service iptables restart
第12步、设置开机启动(非必须),完。
chkconfig mysqld on
报错汇总
1 ,执行安装命令时报错
[root@vultr mysql-5.6.26-linux-glibc2.5-x86_64]# ./scripts/mysql_install_db --user=mysql
Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file
原因:缺少安装包libaio和libaio-devel.
命令行#yum install libaio*
自动安装这两个包
2,安装设置root密码,但登录失败提示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)?
#1.停止mysql数据库
/etc/init.d/mysqld stop
#2.执行如下命令
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
#不关闭窗口,另外开一个窗口执行下面步骤
#3.使用root登录mysql数据库
mysql -u root mysql
#4.更新root密码
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
#最新版MySQL请采用如下SQL:
mysql> UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';
#5.刷新权限
mysql> FLUSH PRIVILEGES;
#6.退出mysql
mysql> quit
#7.重启mysql
/etc/init.d/mysqld restart
#8.使用root用户重新登录mysql
mysql -u root -p
Enter password: <输入新设的密码newpassword>
维护方法
1,centos下完全卸载mysql
http://blog.csdn.net/rosten/article/details/25096159
2,yum安装mysql的,my.cnf的位置:/etc/my.cnf
查找文件:whereis my.cnf
3,mysql5.6 的my.cnf参考配置
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
character-set-server=utf8mb4
symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set =utf8mb4
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid