linux Centos7.6 安装mysql

在centos7.9上安装 ,启动mysq报错,后面没去处理,目前更新了Centos安装mysql5.7的文章,后续都使用mysql5.7了

启动mysq报错如下:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (

使用MobaXterm新建session连接到linux

1.查看是否安装了mariadb和mysql,安装了需要先删除
mariadb是mysql的一个分支,但要安装mysql需要删除它

执行rpm -qa|grep mariadb,查看mariadb情况

查找到有就删除

 执行yum remove mariadb-libs-5.5.60-1.el7_5.x86_64

再次查看

执行rpm -qa|grep mariadb

已经删除成功

查看是否已经有mysql

yum list installed | grep mysql

有则执行yum -y remove mysql-libs.x86_64 删除 

下载mysql rpm安装包然后上传到linux服务器

https://cdn.mysql.com//Downloads/MySQL-5.6/MySQL-5.6.47-1.el7.x86_64.rpm-bundle.tar

网络允许可以直接linux下载  执行

wget https://cdn.mysql.com//Downloads/MySQL-5.6/MySQL-5.6.47-1.el7.x86_64.rpm-bundle.tar

增加mysql用户组

检查mysql用户及组是否存在,

cat /etc/group |grep mysql

如果没有创建组

执行groupadd mysql

创建用户并把该用户加入到组mysql,这里的 -r是指该用户是内部用户,不允许外部登录

useradd -r -g mysql mysql

给用户mysql设置密码

执行passwd mysql

然后设置密码,需要设置2遍比对 

安装mysql,把压缩包移动到mysql安装目录

mv MySQL-5.6.47-1.el7.x86_64.rpm-bundle.tar /data/mysql

 cd到 /data/mysql 解压

执行tar -xvf MySQL-5.6.47-1.el7.x86_64.rpm-bundle.tar 

安装mysql

依次执行

rpm -ivh MySQL-client-5.6.47-1.el7.x86_64.rpm
rpm -ivh MySQL-devel-5.6.47-1.el7.x86_64.rpm
rpm -ivh MySQL-server-5.6.47-1.el7.x86_64.rpm

查看mysql状态

执行service mysql status ,显示服务未开启 

登录

执行mysql -u root -p

要求输入密码,直接回车

切换数据库

执行use mysql  

查询用户

执行select Host,User,Password from user; 

修改密码

UPDATE user SET password=password("root123") WHERE user='root'; 

退出

quit 

重启mysql服务

执行service mysql restart

登录mysql root是mysql用户名 root123是密码 

执行mysql -u root -proot123

提示第一次登录必须修改密码

执行set password = password('root789');

设置任何主机可以使用mysql客户端以root用户访问mysql

执行grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

退出,重启mysql

执行quit

执行service mysql restart

查看端口,dataDir目录

MySQL在安装完成之后,其源数据默认存放在 /var/lib/mysql/ ,我们一般会把路径修改到空间比较大的分区以存储数据,如果需要修改dataDir目录

执行show global variables like 'port'; 查看端口

执行show variables like 'datadir';查看dataDir目录

修改dataDir目录 停止MySQL服务器,

执行service mysql stop 

将以前的数据文件复制到新的数据目录下,

执行cp -rf /var/lib/mysql /data/mysql/datadir

修改my.cnf配置文件

执行mysql --help|grep my.cnf 查看mysql加载配置文件的顺序

Linux下用rpm包安装的MySQL是不会安装/etc/my.cnf文件的,

我们从/usr/share/mysql目录下的.cnf文件到/etc目录,并改名为my.cnf即可。这样mysql会优先加载etc的配置文件

解决方法,只需要复制一个/usr/share/mysql目录下的.cnf文件到/etc目录,并改名为my.cnf即可。

执行cp /usr/share/mysql/my-default.cnf /etc/

执行mv /etc/my-default.cnf /etc/my.cnf

使用MobaXterm打开my.cnf
添加参数datadir
datadir = /data/mysql/datadir/mysql

重启mysql,如果出现如下错误,说明新设置的目录datadir操作权限不足,创建不了pid文件

执行以下指令后,重启mysql

chown -R mysql:mysql /data/mysql/datadir/mysql

chmod -R 755 /data/mysql/datadir/mysql

修改mysql端口号先关闭mysql,打开my.con配置文件,配置port即可,配置完重启mysql,登录mysql查看是否修改成功

mysql table大小写敏感修改

linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;

lower_case_table_names参数详解: 

lower_case_table_names = 0 

其中 0:区分大小写,1:不区分大小写 

MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的: 

   1、数据库名与表名是严格区分大小写的; 

   2、表的别名是严格区分大小写的; 

   3、列名与列的别名在所有的情况下均是忽略大小写的; 

   4、变量名也是严格区分大小写的; 

MySQL在Windows下都不区分大小写。

show global variables like '%lower_case%';

my.cnf添加

lower_case_table_names=1

查询是否设置成功

注意这里修改的是表名大小写不敏感,字段存储的内容 如证件号码字段有录入大写的X,有录入小写的x,我们希望查询时不敏感, 如select  IDCRAD form XXX  where IDCARD =:idCard 不区分大小写是创建库名的时候collation  的ci设置的,ci即case insensitive,不区分大小写

处理mysql写入数据乱码

show variables like 'character%';

修改

my.cof增加  character-set-server=utf8

重启mysql  mysql客户端再次执行 show variables like 'character%';

mysql集合重要目录

/var/lib/mysql 数据库文件
/usr/share/mysql 命令及配置文件
/usr/bin mysqladmin、mysqldump等命令

=============================================

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值