linux完全离线安装mysql

1.下载相关安装包上传到到 linux服务器,目录自选(本人是放在了/usr/local/ 自己新建的mysql文件夹目录下/usr/local/mysql)
下载连接
链接:https://pan.baidu.com/s/1Hd4g6zuY0Ffyx0qi_o2K_Q
提取码:m3ev
2.解压 tar -xvf mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar
3.安装执行
依次执行(几个包有依赖关系,所以执行有先后)下面命令安装
rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm --force --nodeps
在安装rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm的时候可能会报错:
libaio-0.3.107-10.el6.x86_64.rpm
net-tools-2.0-0.24.20131004git.el7.x86_64.rpm
报错将以上2个安装包上传即可
4数据库初始化
为了保证数据库目录为与文件的所有者为 mysql 登陆用户,如果你是以 root 身份运行 mysql 服务,需要执行下面的命令初始化
mysqld --initialize --user=mysql
如果是以 mysql 身份运行,则可以去掉 --user 选项。
另外 --initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过期,登陆后你需要设置一个新的密码,而使用 --initialize-insecure 命令则不使用安全模式,则不会为 root 用户生成一个密码。
这里演示使用的 --initialize 初始化的,会生成一个 root 账户密码,密码在log文件里,红色区域的就是自动生成的密码
执行 mysqld --initialize --user=mysql 会自动生成日志
查看刚才生成的日志 cat /var/log/mysqld.log
2016-12-07T04:41:58.028558Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-12-07T04:41:58.315188Z 0 [Warning] InnoDB: New log files created, LSN=45790
2016-12-07T04:41:58.355114Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2016-12-07T04:41:58.418448Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 7cc98831-bc37-11e6-a263-000c29f902dc.
2016-12-07T04:41:58.419935Z 0 [Warning] Gtid table is not ready to be used. Table ‘mysql.gtid_executed’ cannot be opened.
2016-12-07T04:41:58.420558Z 1 [Note] A temporary password is generated for root@localhost: )1r3gi,hjgQa
1r3gi,hjgQa为数据库初始密码
启动mysql数据库 systemctl start mysqld.service
root账户登录数据库 mysql -uroot -p
修改密码 ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘新密码’; //最好修改一下密码,密码设置简单会容易报错
5.设置远程连接
此方法只能用于本地连接,要想使用远程工具需设置远程权限,mysql默认本地localhost连接
执行 exit 退出数据库 重新登录mysql -uroot -p
show database;
在这里插入图片描述
查看mysql库中的user表的host字段
使用mysql库:use mysql
查询信息:select user,host from user;
host默认都为localhost
执行 update user set host="%" where user=“root”; 将host改为%,‘%’表示允许任何ip访问,也可以自己设置相应的ip
使本次修改立即生效,命令:flush privileges
再使用远程工具即可进行连接使用
在这里插入图片描述
中文乱码问题解决
进入mysql 使用 show variables like ‘character%’; 命令查看编码状态
在这里插入图片描述
默认 latin1 exit 退出 关闭服务 systemctl stop mysqld.service
在etc目录下新建一个my.cnf 有则在最下面新加下面内容
[mysql]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve

port = 3306
socket=/var/lib/mysql/mysql.sock

max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M

重启mysql服务再查看编码状态
在这里插入图片描述
设置开机自启动
将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/bin/mysql /etc/init.d/mysqld

赋予可执行权限
chmod +x /etc/init.d/mysqld

添加服务
执行 chkconfig --add mysqld
如果报错则需在/etc/rc.d/init.d/network 配置文件中加下面2行再执行
chkconfig: 2345 10 90
description: myservice …

重启服务器即可完成自启动

发布了7 篇原创文章 · 获赞 3 · 访问量 164

猜你喜欢

转载自blog.csdn.net/qq_39491096/article/details/104059125