ubuntu linux 下安装mysql详解

来源:互联网 发布:中国网络信息安全联盟 编辑:程序博客网 时间:2024/05/21 12:39

linux 有多种发行版本,比如 ubuntu Gentoo centOS 等等
每种版本 命令可能不一样 但是大同小异。以下是ubuntu 版本安装mysql的过程,其他版本可以参照。

首先想说的是:每个人安装过程中遇到的问题可能不一样,在网上百度的解决办法也是五花八门。最简单的方法就是看官方文档。贴出这个过程是为了提醒新手注意。

这里安装的是 MySQL Community Server
附上官方下载链接地址:MySQL Community Server
选择linux Generic 通用版本 下载 compressed tar archive
linux 在 /usr/local/ 使用 命令 注意版本
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

以下为官方文档给出的步骤
在这之前 首先安装 libaio库
apt-cache search libaio
apt-get install libaio1
如果出错了 可能需要更新和修复 使用以下命令
shell> apt-get update
shell> apt-get install -f

创建一个mysql用户和组
shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql
解压包
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
创建软链接 方便进入目录
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
创建所需要的文件夹
shell> mkdir mysql-files
shell> mkdir data
shell> chmod 750 mysql-files
分配用户组
shell> chown -R mysql .
shell> chgrp -R mysql .
初始化mysql 安装目录下必须要有创建空的data文件夹
我执行的 是第二个命令 第三个命令不太明白。 知道的可以告诉我
初始化后会给出 12位随机的密码 一定要记住。
shell> bin/mysql_install_db –user=mysql # MySQL 5.7.5
shell> bin/mysqld –initialize –user=mysql # MySQL 5.7.6 and up
shell> bin/mysql_ssl_rsa_setup # MySQL 5.7.6 and up
shell> chown -R root .
shell> chown -R mysql data mysql-files
shell> bin/mysqld_safe –user=mysql &
shell> cp support-files/mysql.server /etc/init.d/mysql.server

启动mysql服务
shell> /etc/init.d/mysql start
修改mysql密码 mysql服务没起开进不了这一步
可以 查看端口进程
shell> netstat -lunatp
Proto Recv-Q Send-Q Local Address PID/Program name

tcp6 0 0 :::3306 :::1937/mysqld
有3306 mysqld 就说明启动成功了

shell> ./bin/mysql -uroot -p’刚才记下的12位随机密码’
有可能出现 Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)错误
shell> find / -name “mysql.sock” #都没有这个文件
我的解决办法是
shell> /etc/init.d/mysql stop
停止mysql 服务 从支持文件里启动 然后我就连接上了 。很不明白问题出在哪里
shell> ./support-files/mysql.server start

重新进入mysql
shell> ./bin/mysql -uroot -p’刚才记下的12位随机密码’
使用mysql 数据库
mysql> use mysql;
Database changed
修改密码
mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘你的新密码’ PASSWORD EXPIRE never; #密码永不过期
如果想远程连接 建议 添加一个用户
mysql> CREATE USER ‘你自己喜欢的名字’@’%’ IDENTIFIED BY ‘远程连接的密码’ PASSWORD EXPIRE never;
Query OK, 0 rows affected (0.00 sec)
授权
mysql> grant all on . to ‘你自己喜欢的名字’@’%’;
mysql> flush privileges;
mysql> select User from user;
+———–+
| User |
+———–+
| user123 |
| mysql.sys |
| root |
+———–+
3 rows in set (0.00 sec)

如果需要打开 3306 端口 供远程访问
shell> iptables -A INPUT -p tcp –dport 3306 -j ACCEPT
80端口转发到8080端口 需要可以添加
iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 8080
shell> iptables-save;

在安全组里允许端口访问 。

以上就是全部内容 5.7 版本 和之前有很大的改变。
遇到问题 最好直接看官方文档 参考网友的解决方案。