蛋糕网站模版,ciid室内设计网,网站开发怎么样,雷神代刷网站推广在centos 7.6上 离线安装mysql 的步骤#xff0c;可参考下文#xff1a;
一、查看当前MySQL的安装情况并卸载
1. 查看当前MySQL的安装情况
查找之前是否安装了MySQL rpm -qa|grep -i mysql 2.卸载mysql
如果已经安装mysql#xff0c;则需要先停止MySQL#xff0c;再删除…在centos 7.6上 离线安装mysql 的步骤可参考下文
一、查看当前MySQL的安装情况并卸载
1. 查看当前MySQL的安装情况
查找之前是否安装了MySQL rpm -qa|grep -i mysql 2.卸载mysql
如果已经安装mysql则需要先停止MySQL再删除之前安装的MySQL 把rpm -qa | grep mysql 得到的安装包名XXX 写上即 rpm -ev xxx rpm -ev bt-mysql56-5.6.47-1.el7.x86_64 3.删除老版本的目录
查找之前MySQL的目录删除老版本的目录 find / -name mysql 删除MySQL对应的目录: rm -rf xxxx/mysql 注意卸载后配置文件 /etc/my.cnf 不会删除需要手动删除 rm -f /etc/my.cnf 4. 再次查看是否安装MySQL确保MySQL完全卸载 rpm -qa|grep -i mysql 没有结果显示说明MySQL已经被完全卸载干净接下来就可以重新安装自己想要的MySQL版本了。
二、安装Mysql
1.创建mysql用户组和用户
检查mysql用户组和用户是否存在如果没有则创建 cat /etc/group | grep mysql cat /etc/passwd |grep mysql groupadd mysql useradd -r -g mysql mysql 2.下载Mysql包
若服务器并不连接外网需要将预先下载到的mysql安装包通过内网导文件方式 导入服务器之后再操作。
若服务器可联网则可以通过命令 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 下载mysql安装包。
3. 解压 tar -zvxf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 解压完成后可以看到当前目录下多了一个解压文件移动该文件到/usr/local/下并将文件夹名称修改为mysql。
如果/usr/local/下已经存在mysql请将已存在mysql文件修改为其他名称否则后续步骤可能无法正确进行。
4.创建data目录
在/usr/local/mysql目录下创建data目录 [rootlocalhost /]# mkdir /usr/local/mysql/data 5.修改目录属组
更改mysql目录下所有的目录及文件夹所属的用户组和用户以及权限 chown -R mysql:mysql /usr/local/mysql chmod -R 755 /usr/local/mysql 如果报以上错误说明mysql用户不存在执行以下命令操作完再执行更改权限命令 groupadd mysql useradd -r -g mysql mysql 6.编译安装并初始化mysql
编译安装并初始化mysql cd /usr/local/l\mysql/bin ./mysqld --initialize --usermysql --datadir/usr/local/mysql/data --basedir/usr/local/mysql 务必记住初始化输出日志末尾的密码数据库管理员临时密码A temporary password is generated for rootlocalhost:XXXXXXX 注意
此处若报如下错误信息表示该链接库文件有没有安装使用 [rootecs-xiaochengxu bin]# ./mysqld --initialize --usermysql --datadir/usr/local/mysql/data --basedir/usr/local/mysql ./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory ./mysqld: error while loading shared libraries: libaio.so.1的处理办法
执行如下命令安装 1.首先检查该链接库文件有没有安装使用运行该命令后发现系统中无该链接库文件
rpm -qa|grep libaio
# 2. 安装 yum install libaio-devel.x86_64 如果不能联网则不能通过yum install 方式获取安装libaio-devel ; 需要单独下载到rpm 安装包然后通过rpm -ivh xxx.rpm方式 进行安装
成功后如下 7. 编辑配置文件my.cnf
编辑配置文件my.cnf vim /etc/my.cnf //或者vi /etc/my.cnf 添加配置如下在[mysqld]下添加 [mysqld] datadir/usr/local/mysql/data #数据库data目录 port 3306 #端口 sql_modeNO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES #sql模式 symbolic-links0 max_connections400 #最大连接数 innodb_file_per_table1 lower_case_table_names1 #表名大小写不敏感 character_set_serverutf8 #服务器端编码为utf8 参数注释 lower_case_table_names 是否区分大小写1表示存储时表名为小写操作时不区分大小写0表示区分大小写不能动态设置修改后必须重启才能生效 character_set_server 设置数据库默认字符集如果不设置默认为latin1 innodb_file_per_table 是否将每个表的数据单独存储1表示单独存储0表示关闭独立表空间可以通过查看数据目录查看文件结构的区别 解决中文乱码问题
show variables like %character%; 查询编码 show variables like %character%; 修改my.cnf文件 #sudo vi /etc/my.cnf [mysqld]下加入代码 character_set_serverutf8 在[ mysql ]下加入代码 default-character-setutf8 编辑/etc/my.cnf.d/client.cnf vi /etc/my.cnf.d/client.cnf 设置 [client] default-character-setutf8 编辑vi /etc/my.cnf.d/mysql-clients.cnf vi /etc/my.cnf.d/mysql-clients.cnf 在mysql下添加 default-character-setutf8 8. 启动mysql服务器 /usr/local/mysql/support-files/mysql.server start 如果有报错信息error: log-error set to /var/log/mariadb/mariadb.log error: log-error set to /var/log/mariadb/mariadb.log, however file dont exists. Create writable for user mysql. ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid). error: log-error set to /var/log/mariadb/mariadb.log 错误处理办法
首先需要理解报错信息log-error 设置了日志为xxxx.log 然而文件不存在建立一下对于mysql用户可写的xxx.log. 报错以及提示都非常明确。而这个日志路径则是配置在/etc/my.cnf 的【mysqld_safe】下的指定了log-error 以及pid-file的路径 于是针对错误很容易就能找到处理办法新建/etc/my.cnf里指定路径的这个log以及pid文件自己注意自己的路径别瞎ctrlc、v 以下这个路径我的my.cnf是修改过的但是本文里并没有截图设置的路径与文件的文件不匹配还是会继续报错的 touch /usr/local/mysql/logs/mysql.log touch /usr/local/mysql/logs/mysql.pid 创建了文件之后还需要赋予权限将文件所有者设置成 mysql用户 chown -R mysql:mysql /usr/local/mysql/ 开始处理这个问题的时候没有理解到错误意思所以我还修改了selinux的设置 但是还是要报错 然后就发现 my.cnf里配置 mysqld_safe配置的 /var/lib/mysql 文件夹不存在 所以报错
mysqld_safe Directory /var/lib/mysql for UNIX socket file dont exists.
于是mkdir -p var/lib/mysql 创建目录 并设置目录权限如下图所示 重新执行 /usr/local/mysql/support-files/mysql.server start 显示如下结果说明数据库安装成功 9. 添加软链接并重启mysql服务 ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql 这里需要注意的是如果是通过上述命令添加软链接则mysql数据的服务名应该是mysql 而不是常规的mysqld。
通过配置好的服务启动mysql数据库服务 service mysql restart注意此时不能用systemctl start mysql不然会报错 service mysql restart Cant connect to local MySQL server through socket /tmp/mysql.sock 的解决方案 Enter password:
ERROR 2002 (HY000): Cant connect to local MySQL server through socket /tmp/mysql.sock (2)
通过如下方式 mysql -uroot -h 127.0.0.1 -p 10. 登录mysql修改密码(密码为步骤6生成的临时密码) mysql -u root -p # 使用以下命令修改密码 set password for rootlocalhost password(123456); # 报错使用下面命令修改
从8.0开始修改密码有了变化在user表加了字段authentication_string修改密码前先检查authentication_string是否为空如果不为空 use mysql; update user set authentication_string where userroot;--将字段置为空 ALTER user rootlocalhost IDENTIFIED BY root;--修改密码为root 2.如果为空直接修改 ALTER user rootlocalhost IDENTIFIED BY root;--修改密码为root 11. 开放远程连接 mysqluse mysql; msyqlupdate user set user.Host% where user.Userroot; mysqlflush privileges; 执行完上边命令后通过数据库客户端就可以连上数据库