mysql Access denied for user root@localhost错误解决方法总结, 安装后修改密码
Mysql初始化root密码和允许远程访问
mysql 命令:基本文本的,显示和使用的mysql数据库。前面已经简单的提过用法;比如登录等。
mysqladmin 命令,用来创建和维护mysql数据库的命令,前面已经简单的提过;
isamchk 是用来修复、检查和优化.ism后缀的数据库文件;
mysqldump 是用于备份数据库,前面已经简单的说明过;
myisamchk 用来修复.myi后缀的数据库文件;
[b]MySQL修改数据库密码
[b]CentOS6.4下Mysql数据库的安装与配置[/b]
[b]停止和启动:[/b]
service mysqld stop
service mysqld start
[b]登录:[/b]
#mysql -uusername -p
#然后输入pwd
[b]退出[/b]
#exit
[b]切换数据库:[/b]
#user myDatabaseName
[b]显示所有数据库:[/b]
#mysql>show databases;
[b]显示数据库所有的表[/b]
#mysql>show tables;
[b]备份:[/b] 备份mysql中已经存在的名为linux的数据库
#mysqldump -u root -p linux > /home/beinan/linuxsir031130.sql
Enter password:在这里输入数据库管理员root的数据库密码
[b]导入:[/b]把在/home/beinan这个目录中的linuxsir031130.sql这个备份,导入名为linux的数据库中,应该如下操作;
#mysql -u root -p linux < /home/beinan/linuxsir031130.sql
[b]创建mail数据库和账户: [/b]
#mysqladmin -uroot password 'root'
#mysql -h localhost -uroot -p
#mysql> GRANT ALL PRIVILEGES ON mail.* TO root@localhost IDENTIFIED BY 'root'; //给root访问所有数据权限
#mysql> create database mail; //创建mail数据库
#mysqlCREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; //[color=blue]创建时指定编码[/color]
#mysql> GRANT ALL PRIVILEGES ON mail.* TO admin@"localhost" IDENTIFIED BY '123123' WITH GRANT OPTION; //创建admin账户,它对mail数据库拥有所有权限
#mysql> flush privileges; //马上生效
[b]创建数据库时指定字符集:[/b]
GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
UTF8: CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
[b]删除数据库[/b]
drop database zentao;
[b]删除表:[/b]
#mysql> drop table MyClass;
[b]查看服务器和客户端字符集[/b]
mysql> show variables like "%char%";
[b]查看数据库的字符集[/b]
mysql> show create database test;
[b]查看表的字符集[/b],包括各个字段的字符集,如果各字段没有标明,表示与表的字符集一致
mysql> show create table books
[b]mysql的UTF-8编码:解决乱码问题[/b]
修改:/opt/lampp/etc/my.cnf,三处增加:低版本[default-character-set=utf8],高版本[character-set-server=utf8]
[client]
#default-character-set=utf8
character-set-server=utf8
[mysqld]
#default-character-set=utf8
character-set-server=utf8
init_connect='SET NAMES utf8'
[mysql]
#default-character-set=utf8
character-set-server=utf8
[b]mysql 随机选择一条记录[/b]
SELECT * FROM foo ORDER BY RAND() LIMIT 1
[b]mysql启动和关闭约束的方法(FOREIGN_KEY_CHECKS)[/b]
禁用
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
启用
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
[b]连接mysql 比较慢[/b]
在进行ping和route后发现网络通信都是正常的,而且在mysql机器上进行本地连接发现是很快的,所以网络问题基本上被排除了。以前也遇到过一次这样的 问题,可后来就不知怎么突然好了,这次又遭遇这样的问题,所以想看看是不是mysql的配置问题。在查询mysql相关文档和网络搜索后,发现了一个配置似乎可以解决这样的问题,就是在mysql的配置文件中增加如下配置参数:
[mysqld]
skip-name-resolve
[b]还原SQL文件:[/b]
进入MySQL命令行
第一种方式:在未连接数据库的情况下,输入 mysql -h localhost -u root -p 123456 < d:\book.sql 回车即可;
第二种方式:在已连接数据库的情况下,此时命令提示符为mysql>,输入 source d:\book.sql 或者 \. d:\book.sql 回车即可。