Linux上安装Mysql
1、默认Linux在安装的时候,自带了mysql相关的组件。
先卸载系统自带的mysql,执行卸载命令rpm -e --nodeps mysql-libs


2、(1)CentOS7环境下
命令:rpm -qa|grep mariadb

3、默认Linux(CentOS7)在安装的时候,自带了mariadb(mysql完全开源版本)相关的组件。
先卸载系统自带的mariadb,执行卸载命令rpm -e --nodeps mariadb-libs
2.1.2 检查/tmp文件夹权限
查看/tmp文件夹权限:

4、赋予其最大权限:

5、2.2 Mysql的安装
安装的版本是mysql 5.5,官网下载地址:http://dev.mysql.com/downloads/mysql/
①将rpm安装包拷贝到opt目录下

6、②在安装目录下执行rpm安装
rpm -ivh MySQL-client-5.5.54-1.linux2.6.x86_64.rpm

7、rpm -ivh MySQL-server-5.5.54-1.linux2.6.x86_64.rpm

8、安装完成后,出现如下警告,需要为软件设置root用户的密码。


9、③查看是否安装成功:mysqladmin --version

10、或者也可以通过rpm命令来查看:

11、④设置用户和密码: mysqladmin –u root password xxxxxx

12、2.3 Mysql服务
2.3.1 Mysql服务的启动和停止
查看状态:service mysql status

13、启动服务:service mysql start

14、停止服务:service mysql stop

15、重启服务:service mysql restart

16、启动之后,查看进程:

17、2.3.2 Mysql的安装位置

18、2.3.3 Mysql服务的自启动
Mysql服务是开机自动启动的!

19、如果要取消开机自启动,则输入命令ntsysv

20、出现以下界面:

21、使用空格取消选中,然后按TAB确定!
2.3.4 Mysql的重复启动问题

22、此时查看,多了很多进程:

23、尝试去登录或者操作:报错!

24、查看服务状态:

25、解决:杀死所有和mysql进程相关的操作,然后重启服务!

26、注意是mysqld,d代表demon,守护进程。
然后再重启:

27、2.4 修改字符集
2.4.1 常用命令

28、实验SQL:

29、2.4.2 字符集乱码原因
如果在建库建表的时候,没有明确指定字符集,则采用默认的字符集latin1,其中是不包含中文字符的。查看默认的编码字符集:

30、2.4.3 永久修改
在/usr/share/mysql/ 中找到my.cnf的配置文件,拷贝其中的my-huge.cnf 到 /etc/ 并命名为my.cnf 。添加以下内容后再重启服务。
注意:必须将文件拷贝到指定路径,且名称为my.cnf

31、再次查看:

32、注意:已经创建的数据库的设定不会发生变化,参数修改只对新建的数据库有效!
2.5 设置大小写不敏感
①查看大小写是否敏感:show variables like '%lower_case_table_names%'
windows系统默认大小写不敏感,但是linux系统是大小写敏感的

33、②设置大小写不敏感:在my.cnf这个配置文件 [mysqld] 中加入 lower_case_table_names = 1 ,然后重启服务器

34、2.6 sql_mode
sql_mode定义了对Mysql中sql语句语法的校验规则!
sql_mode是个很容易被忽视的变量,默认值是空值,在这种设置下是可以允许一些非法操作的,比如允许一些非法数据的插入。在生产环境必须将这个值设置为严格模式,所以开发、测试环境的数据库也必须要设置,这样在开发测试阶段就可以发现问题。
35、2.6.1 sql_mode常用的值

36、2.6.2 查看和修改
①查看当前的sql_mode: select @@sql_mode;
②sql_mode的影响案例:group by 查询语法错误!

37、③临时修改 sql_mode: set @@sql_mode=’’;
④永久修改,需要在配置文件my.cnf中修改:
[mysqld] 下添加 sql_mode='' 然后重启mysql即可