linux centOS安装mysql教程【超详细】最大连接数和大小写限制
CentOS7默认数据库是mariadb,配置等用着不习惯,因此决定改成mysql,但是CentOS7的yum源中默认好像是没有mysql的。
为了解决这个问题,我们要先下载mysql的repo源。
1.下载mysql的repo源
$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2.安装mysql-community-release-el7-5.noarch.rpm包
$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
3.安装mysql
$ sudo yum install mysql-server
根据提示安装就可以了,不过安装完成后没有密码,需要重置密码
4.重置mysql密码
$ mysql -u root
登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
$ sudo chown -R root:root /var/lib/mysql
5.重启mysql服务
$ service mysqld restart
6.接下来登录重置密码:
$ mysql -u root //直接回车进入mysql控制台
mysql > use mysql;
mysql > update user set password=password('xxxxxxx') where user='root';
mysql > exit;
7.配置权限
mysql –u root -p
mysql > grant all privileges on *.* to root@"%" identified by 'xxxx' with grant option;
刚装的数据库,利用JDBC只能用localhost:3306来链接数据库,用IP地址的话会出现下图错误:
这是由于数据库没有对其他主机访问授权。解决方式:执行SQL语句,打开权限,也可以给指定ip授权(可以自行百度)。
mysql > GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
注意:
myuser:你要公开的数据库的库的名字。
password:你要公开数据库,访问时用到的密码。
8.设置Mysql最大连接数
8.1 查询Mysql当前的最大连接数
$ mysqladmin -uroot -p variables |grep max_connections
8.2 在文件etc/my.cnf中设置Mysql 最大连接数
[mysqld] max_connections =2000
重启Mysql 命令
$ service mysqld restart
查询Mysql当前的最大连接数,发现最大连接数是214
更改 MySQL 在 Linux 的最大文件描述符限制,编辑 /usr/lib/systemd/system/mysqld.service 文件,在文件最后添加:
LimitNOFILE=65535 LimitNPROC=65535
保存后,执行下面命令,使配置生效
$ systemctl daemon-reload $ systemctl restart mysqld.service
查询Mysql当前的最大连接数,实际连接数到 2000 了,解决
9.设置Mysql大小写限制
在文件etc/my.cnf中设置Mysql 最大连接数
[mysqld]
lower_case_table_names=1