1进入目标文件夹
//创建mysql文件 mkdir /opt/mysql //进入mysql 文件,并在文件下创建两个文件目录db_data cd /opt/mysql mkdir db_data //这个用来存储我们的数据库文件,稍后会用到
2下载
我们下载最新版的8版本,mysql下载官网
//在 /opt/mysql 中下载mysql8.0源码
mwget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz //这里使用mwget 下载更快,如何去安装mwget,我的上一篇文章有写
3解压
tar mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz //解压
mv mysql-8.0.25-linux-glibc2.12-x86_64 mysql //改个名字,方便操作
4赋予文件夹读写权限(启动mysql的时候,将会读写一些东西,这里必须将相关的文件夹赋予权限)
chmod -R 777 /opt/mysql //-R 是递归赋予的意思,这样/opt/mysql/db_data 和 /opt/mysql/mysql以及/opt/mysql,都会拥有读写权限
5增加初始化mysql的配置文件
//第一次启动mysql之前必需要进行初始化。初始化需要的参数可以通过在新建一个/etc/my.cnf 文件来赋予 //新建一个my.cnf文件 这一步可以在window上先编写好之后,在通过ftp工具放在etc目录下
[mysqld] # 指定当前mysql用户 user=root # 设置3306端口 port=3306 # 设置mysql的安装目录--也就是你的mysql安装包的解压目录 basedir=/opt/mysql/mysql # 设置mysql数据库的数据的存放目录 # 这就是我们db_data目录的作用 datadir=/opt/mysql/db_data # 设置lc_messages放置地址 lc_messages_dir=/opt/mysql/err_messages # 设置lc_messages语言 lc_messages=en_US # 允许最大连接数 max_connections=10000 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 # 注意这里如果使用utf8的话会报一个警告,因为utf8现在代表的是UTF8MB3,但是下一个版本会是UTF8MB4。但是不影响 character-set-server=UTF8MB4 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集 default-character-set=UTF8MB4 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=UTF8MB4
//然后将它放置到/etc目录下
6初始化mysql的一些参数
//进入mysql的bin目录 cd /opt/mysql/mysql/bin //使用bin目录下的mysqld程序初始化 ./mysqld --initialize --console
这里会出现一段这个信息
请注意root@localhost:之后的 #HZZfN=G<2?M 是你的临时密码,要记好。这是随机的,并且第一次登陆需要靠他
8另一种赋予mysql初始化参数的方法 (不推荐)
//在你使用mysqld --initialize --console 的时候可以添加一些选项 ./mysqld --initialize --console --datadir //指定mysql数据文件放置目录,效果和my.cnf中的一样,如果同时设置了,则这种方式的优先级会高于my.cnf中的优先级
9启动mysql
//进入/opt/mysql/mysql/support-files目录 cd /opt/mysql/mysql/support-files //运行 启动:start 重启:restart 停止:stop 查看mysql转态:status mysqld.server start
10结果
看到success 就表明成功了,这里出现了一个错误 表示日志启动失败了,但是mysql还是成功启动
11注意的点
如果你照着上面的步骤,操作仍未启动成功!那么十有八九十因为权限的问题导致的,可以尝试在启动失败之后再次调用第四步。赋予对应的文件夹权限
12一些技巧
(1)可以在/etc/ini.d中添加启动配置,那么就无需每次启动都进入/opt/mysql/mysql/support-files去调用mysql.server了
//将/opt/mysql/mysql/support-files/mysql.server启动服务文件拷贝到etc/init.d/目录下 cp mysql.server /etc/rc.d/init.d/mysqld //添加一个启动服务 chkconfig --add mysqld //注意这里mysqld 服务名一定要和你放在/etc/rc.d/init.d/mysqld 的服务文件一致,不然当你使用service服务的时候,会找不到启动服务文件 //通过service 启动 service mysqld start //等效于/opt/mysql/mysql/support-files/mysql.server start