CentOS下安装MySQL及Windows下使用Navicat for MySQL连接
安装
查看有没有安装过:
yum list installed mysql*
rpm -qa | grep mysql*
查看有没有安装包:
yum list mysql*
安装mysql客户端:
yum install mysql
安装mysql 服务器端:
yum install mysql-server
yum install mysql-devel
启动&&停止
数据库字符集设置
mysql配置文件/etc/my.cnf中的[mysqld]配置节中加入default-character-set=utf8
方法:vi /etc/my.cnf,通过上下左右键移动光标,按字母“i”进入编辑状态,Shift + Insert 粘贴内容(我是通过Xshell操作的),按ESC键进入命令模式,输入“:wq”按回车键。
启动mysql服务:
service mysqld start或者/etc/init.d/mysqld start
开机启动:
chkconfig -add mysqld,查看开机启动设置是否成功chkconfig --list | grep mysql*
mysqld 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
停止:
service mysqld stop
登录
创建root管理员:
mysqladmin -u root password 123456
这个没有执行通过,提示:mysqladmin: Can't turn off logging; error: 'Access denied; you need the SUPER privilege for this operation'
登录:
mysql -u root -p输入密码即可。
忘记密码:
service mysqld stop
mysqld_safe --user=root --skip-grant-tables
执行这条语句之后就不能再输入命令了,
输出:140616 19:23:09 mysqld_safe Logging to '/var/log/mysqld.log'.
140616 19:23:09 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
之后就停在那里不动,需要再开终端执行命令;
mysql -u root
use mysql;
update user set password=password(’123456‘) where user=’root‘;
flush privileges;
但是执行完这些命令没能解决Windows下使用Navicat for MySql连接不上的问题;
远程访问
开放防火墙的端口号,或关闭防火墙;
mysql增加权限:mysql库中的user表新增一条记录host为“%”,user为“root”。
这个测试也不管用;
Linux MySQL的几个重要目录
数据库目录
/var/lib/mysql/
配置文件
/usr/share /mysql(mysql.server命令及配置文件)
相关命令
/usr/bin(mysqladmin mysqldump等命令)
启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)
Windows下使用Navicat for MySql连接
--------------------------------------分割线 --------------------------------------
Ubuntu 14.04下安装MySQL http://www.linuxidc.com/Linux/2014-05/102366.htm
《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF http://www.linuxidc.com/Linux/2014-03/98821.htm
Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL http://www.linuxidc.com/Linux/2014-05/102351.htm
Ubuntu 14.04下搭建MySQL主从服务器 http://www.linuxidc.com/Linux/2014-05/101599.htm
Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群 http://www.linuxidc.com/Linux/2013-11/93019.htm
Ubuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb http://www.linuxidc.com/Linux/2013-08/89270.htm
--------------------------------------分割线 --------------------------------------
错误:1130 host is not allowed to connect to this mysql server
解决方法:
1。 改表法。
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
2. 授权法。
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
这个测试通过,不过记得修改语句中的“myuser”和“mypassword”,我就是拿过来直接就执行了,结果搞了半天才发现。
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
在安装mysql的机器上运行:
1、d:\mysql\bin\>mysql -h localhost -u root //这样应该可以进入MySQL服务器
2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION //赋予任何主机访问数据的权限
3、mysql>FLUSH PRIVILEGES //修改生效
4、mysql>EXIT //退出MySQL服务器
这样就可以在其它任何的主机上以root身份登录啦!
更多CentOS相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14