https://www.cnblogs.com/lizhonghua34/p/7685848.html
----------------------------------------------------------------------
docker安装
docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
忘记密码:
https://blog.csdn.net/qianyang_xu/article/details/79123141
注意skip-grant-tables要写在文件的最后面,不知道为什么
删除CentOS7默认的数据库mariadb
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-版本号
注册码
navicat for mysql 10.1.7注册码,找了很多都不能用,终于找到一个可用的了:
名,组织,注册码都是:NAVN-LNXG-XHHX-5NOO
装完centos后,使用rpm -qa | grep mysql虽然可以看到安装包,不代表你可以使用完全的mysql服务,需要安装mysql-develop和mysql-server
1.使用yum安装mysql最新版本
5.7安装 https://blog.csdn.net/luowenmin/article/details/81945548
8.0安装 https://blog.csdn.net/luowenmin/article/details/81945548
1.1 mysql主页已经提供了centos等系统需要的rpm文件,直接去主页下载。
我用的centos6.5,选择 Red Hat Enterprise Linux 6 / Oracle Linux 6 (Architecture Independent), RPM Package 的版本。 直接下载
# rpm -ivh mysql-community-release-el6-5.noarch.rpm
1.2
安装 yum install mysql mysql-devel mysql-server mysql-utilities
rpm文件后在/etc/yum.repos.d文件夹出现mysql-community-source.repo,用vim打开该文件。可以看到里面已经包含了5.7的信息,只是参数enable=0,修改成enable=1,即可通过yum安装5.7版本
2.登录
新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,输入update mysql.user set password=password('root') where user='root'时提示ERROR 1054 (42S22): Unknown column 'password' in 'field list',原来是mysql数据库下已经没有password这个字段了,password字段改成了
authentication_string
错误提示:
# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
使用网上介绍的方法修改root用户的密码:
# mysqladmin -uroot -p password 'newpassword'
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'
现在终于被我找到了解决方法,如下(请先测试方法三,谢谢!):
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysqld restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
深入分析MySQL ERROR 1045 (28000)
http://www.bitscn.com/pdb/mysql/201407/226146.html
3.mysql禁用validate_password插件
在mysql配置文件(centos系统下是/etc/my.cnf)里面[mysqld]选项下面添加下面一条语句即可。
validate_password=off
4.ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
alter user 'root'@'localhost' identified by 'root';
flush privileges;(mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。)
5.允许远程访问
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
6.显示所有数据库名称
show databases;
库中的表
show tables;
显示数据表的结构:
describe 表名;
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
7.[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains
在 /etc/my.cnf 文件里加上如下:
sql_mode='NO_ENGINE_SUBSTITUTION'
8.执行和导出sql脚本文件
(1)导出整个数据库(包括数据库中的数据)
mysqldump -u username -p dbname > dbname.sql
(2)导出数据库结构(不含数据)
mysqldump -u username -p -d dbname > dbname.sql
(3)导出数据库中的某张数据表(包含数据)
mysqldump -u username -p dbname tablename > tablename.sql
(4)导出数据库中的某张数据表的表结构(不含数据)
mysqldump -u username -p -d dbname tablename > tablename.sql
导入sql文件
mysql -h localhost -u root -p mydb2 < /home/fish/mydb2.sql
9.在linux下连接远程mysql
mysql -u root -p -h 10.209.44.14 -P 10044 (这里大P指定端口)
10.mysql 优化
http://blog.csdn.net/andy1219111/article/details/41009241
10. 在终端里显示表的创建sql语句
show create table api_version_extended
11.数据类型
varchar(N)中,N 表示的是字符数不是字节数,一个汉字也是一个字符