安装
#yum install mysql-server mysql-devel mysql
启动Mysql:
#/etc/init.d/mysqld start
设置Mysql账户信息:
mysql安装后默认生成两个帐号:一个是root,未设置密码,可以从本机登录到mysql;另一个是匿名帐号,无帐号名、无密码,可以从本机登录,未提供用户名的连接都将假定为此帐号。这样的设置存在着安全隐患,按下面的步骤进行更改。
以root帐号连接到mysql服务器:
#mysql -u root
如果提示找不到mysql文件,请尝试使用绝对路径,如本文示例为:
#/usr/local/mysql/bin/mysql -u root
命令成功执行后将进入到mysql命令提示符下:
mysql>
(以下命令均在mysql命令提示符下执行)
改变当前数据库为mysql:
use mysql
设置从本地主机登录的root帐号密码:
update user set password=password('your password') where user='root' and host='localhost';
删除匿名帐号:
delete from user where user='' ;
删除密码为空的帐号:
delete from user where password='';
删除允许非localhost主机登录的帐号:
delete from user where host<>'localhost' ;
执行下面的命令使更改生效:
flush privileges ;
执行下面的命令退出mysql命令行:
quit
或:
/q
设置远程访问权限:
登录MySQL
# mysql -uroot -p
如果无法登录可以使用find / -name mysql搜索mysql程序的路径,比如mysql程序路径为:/usr/local/mysql/bin/mysql,我们可以这样登录:
# /usr/local/mysql/bin/mysql -uroot -p
执行如下命令:
# grant all privileges on *.* to 'root'@'192.168.0.1' identified by 'ROOT-PASSWORD';
# flush privileges;
# exit
192.168.0.1是连接mysql服务器的客户端ip,如果指定所有,则用%来表示
设置默认端口开放:
#iptables -A INPUT -p tcp -m tcp --sport 3306 -j ACCEPT
#iptables -A OUTPUT -p tcp -m tcp --dport 3306 -j ACCEPT
#service iptables save
#service iptables restart
#chkconfig --level 345 mysqld on
问题:Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'(using password: YSE)解决方案:
1.先关闭mysql并设置密码
#sudo /etc/init.d/mysqld stop
#sudo mysqld_safe--user=mysql --skip-grant-tables --skip-networking &
#sudo mysql -u root mysql
mysql> UPDATE user SETPassword=PASSWORD('pas') whereUSER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
2.重启mysql并尝试登录
#sudo /etc/init.d/mysqld restart
#sudo mysql -uroot -p
Enter password:
#输入密码,出现下面这个就表示登录正常了
mysql>