博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu16.04环境下Mysql5.7服务器搭建教程
阅读量:4091 次
发布时间:2019-05-25

本文共 4175 字,大约阅读时间需要 13 分钟。

###Ubuntu16.04下Mysql5.7服务器搭建部署教程
```
##Mysql5.7镜像下载以及安装
1.mkdir /data/software //创建文件夹
2.cd /data/software //进入software文件夹
3.wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz //官网或者搜狐镜像下载http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-
5.7.17-linux-glibc2.5-x86_64.tar.gz 安装数据库压缩包
4.tar -xzvf /data/software/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz //解压缩文件
5.mv /data/software/mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql //移动并修改文件名
6.mkdir /data/mysql //创建数据仓库目录
7.groupadd mysql //新建一个mysql用户组
8.useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql //新建mysql用户、组及目录(新建msyql用户禁止登录shell)
9.改变目录属有者
(1)cd /usr/local/mysql //进入mysql安装目录
(2)pwd //查看当前目录径路
     chown -R mysql . //修改目录属有者
     chgrp -R mysql . //修改目录组属有者
     chown -R mysql /data/mysql
10.配置参数
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
注意:这块指令可能会报错(cannot open shared object file: No such file or directory。)
解决办法: apt-get install libaio-dev
命令执行完毕在最后一行root@localhost:之后是数据库mysql第一次初始密码,此处需要注意记录生成的临时密码,如上文结尾处的:o+Am+9s1Lyeh
11.bin/mysql_ssl_rsa_setup  --datadir=/data/mysql
12.修改系统配置文件
(1)cd /usr/local/mysql/support-files //进入系统配置文件目录下
(2)cp my-default.cnf /etc/my.cnf //将mysql的.cnf配置加载文件复制并放到/etc/文件夹下并更名
(3)cp mysql.server /etc/init.d/mysql //将myql的.server启动服务器文件复制并放到/etc/init.d/文件夹下并更名
(4)vi /etc/init.d/mysql //用vi打开mysql服务器配置文件并进行编辑,编辑内容如下:
esc
:/basedir
内容:
basedir=/usr/local/mysql
datadir=/data/mysql
13.启动mysql
(1)/etc/init.d/mysql start
注意:此处会报错(Failed to start mysqld.service: Unit not found)
原因:
了解到MariaDB代替了mysql数据库,MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险,因此用上述命令启动不起来.
解决方法一:
(1)apt install mariadb-server //安装mariaDb
(2)systemctl start mariadb.service //启动服务  
(3)systemctl enable mariadb.service //开机启动服务
方法二:/etc/systemd/system/mysqld.service 添加Unit,既然错误提示找不到Unit那我们添加一个就好了。在 /etc/systemd/system/mysqld.service下添加如下内容
[Unit]  
Description=MySQL Server  
After=network.target  
  
[Service]  
ExecStart=/usr/bin/mysqld --defaults-file=/etc/mysql/my.cnf --datadir=/var/lib/mysql --socket=/var/run/mysqld/mysqld.sock User=mysql  
Group=mysql  
WorkingDirectory=/usr  
  
[Install]  
WantedBy=multi-user.target
然后运行
systemctl daemon-reload
刷新缓存
这样我们就可以用
systemctl start mysql.service  启动mysql了
14.登录mysql数据库
(1)mysql -hlocalhost -uroot -p
注意:(如果出现:-bash: mysql: command not found 就执行: # ln -s /usr/local/mysql/bin/mysql /usr/bin --没有出现就不用执行)
(2)输入第10步生成的临时密码
16.set password=password('root');//修改密码
17.设置root账户的host地址以及登录密码(修改了才可以远程连接)
(1)grant all privileges on *.* to 'root'@'%' identified by 'root'; //账号为root密码也为root
(2)flush privileges;
提示:flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险。
18.远程计算机连接数据库并测试
使用软件MySQL Workbench 6.3 CE输入数据库服务器ip地址账号密码连接并登录数据库
注意:可能会出现10061错误,解决办法:在服务端MySQL文件夹下找到my.ini(windows环境)或者my.cnf(linux环境)文件(如果使用mariadb启动的mysql则找到/etc/mysql/mariadb.conf.d路径下的50-server.cnf配置文件)将内容中的bind-address = 127.0.0.1配置信息用#注释掉,然后重启mysql服务/etc/init.d/mysql restart 现在便可以远程访问并连接到数据库.
19.mysql系统环境变量配置
(1)vi /etc/profile //打开并编辑配置文件
(2)export PATH=/usr/local/mysql/bin:$PATH //添加mysql环境变量路径
(3)source /etc/profile //使环境变量配置文件生效
20.配置mysql自动启动
(1)chmod 755 /etc/init.d/mysql
(2)sysv-rc-conf mysql on //开启mysql服务自启
提示:
安装sysv-rc-conf
sudo apt-get install sysv-rc-conf
安装完成后,直接运行sudo sysv-rc-conf 命令即可打开该管理软件 操作界面十分简洁,你可以用鼠标点击,也可以用键盘方向键定位,用空格键选择, “X”表示开启该服务。 用Ctrl+N翻下一页,用Ctrl+P翻上一页,用Q退出。 也可以直接加入启动程序,例如把 /etc/init.d/red5 加入到系统自动启动列表中: sudo sysv-rc-conf red5 on
补充:
--退出mysql命令窗口
#exit
 --查看mysql状态
#service mysql status
--停止mysql
#service mysql stop
--启动mysql
#service mysql start
附my.cnf(这是一个配置mysql配置文件,如你想钻研 你可以百度或google “mysql my.cnf 配置详情”)
这里只对mysql开发最常见的一个配置问题做介绍:
当一个项目组开发的人数越来越多时,数据库的连接数就会越来越多然后超过了 MySQL 设置的数据库连接数最大值,这是就会报错,1040错误提示“too many connections”
这是我们第一步要想到的是看看数据库中连接数设置是否过小过小的话进入vi /etc/my.cnf配置文件进行打开并编辑在配置文件中加入max_connections = 1000此配置内容.

如果数据库还是经常断开,这是我们就该采取像durid数据连接池这样的缓存配置对数据库连接进行合理分配以及监控.

show variables like '%max_connections%'; 查看最大连接数
set global max_connections=1000 重新设置

```

转载地址:http://sbjii.baihongyu.com/

你可能感兴趣的文章
Winform多线程
查看>>
Spring AOP + Redis + 注解实现redis 分布式锁
查看>>
poj 1976 A Mini Locomotive (dp 二维01背包)
查看>>
《计算机网络》第五章 运输层 ——TCP和UDP 可靠传输原理 TCP流量控制 拥塞控制 连接管理
查看>>
《PostgreSQL技术内幕:查询优化深度探索》养成记
查看>>
剑指_复杂链表的复制
查看>>
FTP 常见问题
查看>>
shell 快捷键
查看>>
MODULE_DEVICE_TABLE的理解
查看>>
No devices detected. Fatal server error: no screens found
查看>>
db db2_monitorTool IBM Rational Performace Tester
查看>>
postgresql监控工具pgstatspack的安装及使用
查看>>
swift中单例的创建及销毁
查看>>
IE不支持option的display:none属性
查看>>
[分享]mysql内置用于字符串型ip地址和整数型ip地址转换函数
查看>>
【JAVA数据结构】双向链表
查看>>
【JAVA数据结构】先进先出队列
查看>>
移植Vim配色方案到Eclipse
查看>>
谈谈加密和混淆吧[转]
查看>>
关于按钮的mouseOver和rollOver
查看>>