Linxu Yum方式安装Mysql
1、下载yum源
进入http://dev.mysql.com/downloads/repo/,下载RedHat Enterprise Linux 6 / Oracle Linux 6版。文件名称:mysql-community-release-el6-5.noarch.rpm
2、安装yum源
sudo yum localinstall mysql-community-release-el6-*.noarch.rpm
这个Yum库包含了MySQL Server,MySQL工作台管理工具以及ODBC驱动,现在可以通过下面的命令简单地安装MySQLServer。
3、安装MySQL
安装mysql客户端: yum install mysql
安装mysql 服务器端: yum install mysql-server
至此我就可以使用Yum简单地管理MySQL更新,并能确保总是从官网软件库得到最新的发布版。
4、修改 /etc/my.cnf
文件MySql乱码: character-set-server=utf8
表名不区分大小写: lower_case_table_names=1
service mysqld stop; service mysqld start; 如果启动失败,则可能是配置文件不对导致,可以查看log文件排错
5、登陆问题:
mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: YES)'
1:停止mysql服务: service mysqld stop
2:执行命令:
> mysqld_safe --skip-grant-tables & mysql -uroot -p 回车进入
> use mysql;
> update user set password=PASSWORD("newpass")where user="root"; 更改密码为 newpass
> flush privileges; 更新权限
> quit 退出
3:重启mysql服务:service mysqld restart
4:链接数据库:mysql -uroot -p 新密码
6、忘记本地root的登录密码码
1、编辑/etc/my.cnf 在[mysqld] 配置部分添加一行 skip-grant-tables
2、保存后重启mysql [root@localhost etc]# service mysqld restart
3、登录数据库重新设置root密码 [root@localhost ~]# mysql -uroot -p mysql Enter password:直接回车进入
mysql> show databases;
执行下列语句
mysql> update user set password=password("mysql") where user='root';
mysql> flush privileges;
删除/etc/my.cnf文件中添加的“skip-grant-tables”行,重启mysql;
用新设的密码就能正常登录了;
7、解决不能远程连接的问题
1、root用户登录到mysql数据库 /usr/local/mysql/bin/mysql -u root -p (输入密码进入mysql)
2、进入mysql,输入如下命令 use mysql;
3、查看user表的情况 SELECT Host,User FROM user; //指明主机名称,“%”表示匹配所有字符串
4、 UPDATE user SET Host = '%' WHERE User= 'root' LIMIT 1;
5、输入如下命令让刚才设置的命令生效 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
6、注意在mysql 命令行形式下一定要输入";"
按照前面五个步骤完成之后,通过控制台输入[root@linux ~]# mysql -h localhost -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
不让这么连接数据库原因:是因为host对应的user字段是空的,我们需要将其改为root即可
mysql> select host,user from user;
解决办法一:mysql> update user set user='root' where host='localhost';
解决办法二:将localhost改为本机的IP地址,则能够识别了[root@linux ~]# mysql -h 172.16.42.68 -u root -p
8、创建用户:
命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';
说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.
例子: CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '';
CREATE USER 'pig'@'%';