mysql

来源:互联网 发布:军事指挥书籍知乎 编辑:程序博客网 时间:2024/06/06 07:45


注册码
navicat for mysql 10.1.7注册码,找了很多都不能用,终于找到一个可用的了:
名,组织,注册码都是:NAVN-LNXG-XHHX-5NOO

1.使用yum安装mysql最新版本
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 表示的是字符数不是字节数,一个汉字也是一个字符



12.性能

控制表的大小
mysql在处理大表(char的表>500W行,或int表>1000W)时,性能就开始明显降低,所以要采用不同的方式控制单表容量
A:根据数据冷热,对数据分级存储,历史归档
B:采用分库/分表/分区表,横向拆分控制单表容量
C:对于OLTP系统,控制单事务的资源消耗,遇到大事务可以拆解,采用化整为零模式,避免特例影响大众
D:单库不要超过500个表
E:单表字段数不要太多,最多不要大于50个























 
 
 

0 0
原创粉丝点击