首先……你要有一个服务器,哈哈
mysql篇:
1.准备工作
首先下载好linux下mysql的安装包(当然也可以直接使用命令下载,我是先下载的)
我这里的版本是mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz
然后可以将它放到你想放到的文件夹下(这里我是放到了home下)
然后打开你存放mysql安装包的文件夹 (命令:cd /home)
2.解压安装包
tar -zxvf mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz (后面的mysql 是我下载的版本 ,这里需要注意文件的后缀 是GZ的才可以用 “-zxvf”来解压)
复制解压后的mysql目录
cp -r mysql-5.6.42-linux-glibc2.12-x86_64 /usr/local/mysql/ (这步操作是将刚刚解压的mysql目录复制到 usr/local/mysql 中)
3.添加用户组和用户
groupadd mysql
useradd -g mysql mysql
4.安装(安装了奥,前方高能,请自备纸巾)
cd /usr/local/mysql/
mkdir ./data/mysql
-- 执行命令:./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data //初始化数据库
这个命令和mysql5.7之前的命令不一样了,之前命令是:bin/mysql_install_db --user=mysql,但是之后的版本已经被mysqld --initialize替代
***(这里注意:有一些小伙伴执行这句话会报错
-bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: 没有那个文件或目录
解决:执行命令: yum -y install perl perl-devel
Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决:执行命令:yum -y install libaio-devel)
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
-- 复制my-default.cnf 到/etc/下并改名为my.cnf 命令:cp support-files/my-default.cnf /etc/my.cnf
-- 修改启动脚本 命令:vim /etc/init.d/mysqld (这里也可以使用vi /etc/init.d/mysqld ,之所以使用vim是因为有高亮比较容易找到像修改的地方)
-- 修改(将basedir 和 datadir 修改成如下样式)
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/mysql
service mysqld start
./mysql/bin/mysql -uroot
***这里你会发现报错了,兄弟莫慌,待老夫细细道来
-- 在这里我们为其添加一个环境变量 ,编辑 /etc/profile
vim /etc/proflie
PATH=$PATH:/usr/local/mysql/bin
然后保存退出(不会保存退出的可以去百度,我也会在文章最后写出来方法)
-- 然后就可以啦,接下来我们启动服务
service mysqld start
***这里启动服务,有的小伙伴会报这样的一个错误
Starting MySQL.201231 09:35:46 mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
ERROR! The server quit without updating PID file (/var/lib/mysql/VM-0-3-centos.pid). --加这个的原因,仅仅是为了小伙伴们搜索问题的时候能搜索到这篇博客
这里提供一下解决办法
原因呢 是因为没有这个文件,所以我们需要创建这个文件,并进行授权
mkdir /var/log/mariadb/
touch /var/log/mariadb/mariadb.log
命令三:chown -R mysql:mysql /var/log/mariadb/
chown -R 用户:用户组 这里要根据自己的设置进行修改哦
修改完之后我们再次启动服务
然后有的小伙伴可能还会遇到下面的错误
Starting MySQL.201231 09:39:25 mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.
ERROR! The server quit without updating PID file (/var/lib/mysql/VM-0-3-centos.pid).
这个问题饮用一篇大佬的博客 :
然后我们再启动服务就可以啦。
关闭服务的命令:service mysqld stop
查看运行状态的命令:service mysqld status
-- 然后我们登录下我们安装的mysql (默认的用户名是 root 密码是空的 <就是直接回车>)
mysql -u root -p
这里我们直接敲回车就可以啦
出现这个就登录成功啦
***(这里需要注意下 ,有的小伙伴执行mysql -u root -p 的时候 报错咯
source /etc/profile
-- 登录成功之后,我们来创建一个用户
在mysql命令行下 ,我们输入
GRANT ALL PRIVILEGES ON *.* TO 'smile'@'%' IDENTIFIED BY 'smile' WITH GRANT OPTION;
这里我们解析一下这个语句:
1)第一个“smile”呢,是我们的用户名,你自己爱设啥设啥;
2)后面的“%”呢 ,代表所有的主机都可以访问;
3) 第二个“smile”呢,是密码,也是你自己爱设啥设啥
flush privileges;
-- 接下来我们就可以查询一下 我们新建的用户了
在mysql下执行 语句:
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
我们就发现已经可以看见 自己的用户了。
*********************************(这里一定要注意下,我们还需要执行一步操作,否则你根本就没办法登录你自己新建的用户
Delete FROM user Where User='' and Host='localhost';
flush privileges;
实不相瞒,这个问题困扰了我好久
)
-- 这样我们就可以登录自己的用户了
mysql -u smile -p
这样我们的mysql 就安装完成啦。
5.连接到可视化工具,这里使用的是Navicat
公网IP地址
问题可能出现的原因:
1)防火墙没有添加3306端口
执行命令:/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
2) 防火墙没有关闭
systemctl stop firewalld
systemctl disable firewalld
开机不再开启防火墙命令:chkconfig iptables off
4) 就是你的服务器就没开通3306端口
我这里使用的是阿里云的服务器
实例
在最右边有一个“管理”
点开“管理”之后,在左边有这样的一条菜单
本实例安全组”,然后在右边我们找到“配置规则”
3306端口(我这个是已经添加好的)
3306端口”,那么我们点击上面的
“添加安全组规则”
我们在“端口范围”中输入“3306/3306”,然后在“授权对象”中,输入“0.0.0.0/0”,最后点击确定
然后我们在打开navicat,测试一下连接,发现可以了。
至此,我们的mysql算是安装完成了!!!!!!可喜可贺,今晚吃鸡!!!!!
----------------------------------------- I`am Joshua,may god bless you