推荐安装顺序
手动安装顺序:
1. 安装Apache 参考:《ubuntu安装配置apache》
2. 安装MySQL 《ubuntu安装mysql》
3. 安装PHP 《ubuntu安装php 7.0》
4.安装phpmyadmin 《ubuntu安装配置phpmyadmin》
5. 配置Apache、PHP
是为了造成一些不必要的麻烦
sudo apt-get install mysql-server
//*安装这步一定要记住会有提示设置密码别忘记了不然后面你就会哭,设置密码后按键盘方向键↓,选择ok
sudo apt-get install mysql-client
检测是否安装成功
sudo netstat -tap | grep mysql
//通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。
或者 mysql -V 查看是否有版本号
关于登录mysql命令参考:
https://sdeno.com/?p=3233
数据迁移
情景:数据用的久了就变大,硬盘容量有限要把数据重新换到另一个更大的硬盘中。
mysql 核心配置文件 /etc/mysql/my.cnf
mysql数据库默认存放目录在/var/lib/mysql/
1,关闭mysql sudo service mysql stop
2,进入到/var/lib/目录输入 ll ,这样查看mysql目录权限和用户组,例如目录/var/newdata
3,在你要迁移的硬盘中同样创一个目录并且 权限和用户组都和以前的一样
给新目录设置用户组 sudo chown -vR mysql:mysql /var/newdata/
设置目录权限 sudo chmod -vR 700 /var/newdata/
4, 复制数据并且文件权限也一样,切换到root用户 sudo cp -av /var/lib/mysql/* /var/newdata/
5,修改/etc/mysql/my.cnf,将默认数据库目录路径修改成现在新的目录路径
搜索找到datadir 的路径
6,修改/etc/apparmor.d/usr.sbin.mysqld
搜索/var/lib/mysql/ r 和 /var/lib/mysql/** rwk
修改成 /var/newdata/ r 和 /var/newdata/** rwk
7,重启sudo service apparmor reload 和 sudo service mysql start
8,测试是否迁移成功,进入到数据库创建一个数据库,在到/var/newdata/查看是否有新数据库的文件,如果有说明成功了。
9,可以将原来数据删除,rm -rvf /var/lib/mysql/ (其实我不太推荐)
为mysql创建新用户 和 允许远程登录mysql
情景:给其他程序员设置新的mysql账户,一个root帐号同时给几个人用不太好。
在ubuntu中默认只给本机127.0.0.1访问的不能给远程外网用户访问。
解决这两个问题方法如下:
1,修改/etc/mysql/my.cnf
搜索bind-address = 127.0.0.1
将其注视掉 #bind-address = 127.0.0.1
2,利用phpmyadmin,进入管理mysql界面。
点击“用户”—–“添加用户” username :自定义 Host : % 密码 : 自己设置
“全局权限”, 如果希望新用户有root一样权限那就打勾选上“全选”
点击“用户”—点击“刷新载入权限”
3,重启sudo service mysql restart
《解决:Can’t connect to MySQL server on 10061 mysql允许远程连接》
1)启动:
sudo /etc/init.d/mysql start
2)停止:
sudo /etc/init.d/mysql stop
3)重启:
sudo /etc/init.d/mysql restart
4)查看日志:
cat /var/log/mysql.err
cat /var/log/mysql/error.log
5)不支持中文
修改 /etc/mysql/my.cnf
在 [client] 下面增加:
default-character-set=utf8 或 character_set_server=utf8
在 [mysqld] 下面增加:
default-character-set=utf8 或 character_set_server=utf8
6)错误提示:unknown variable ‘default-character-set=utf8’
修改配置文件 /etc/mysql/my.cnf 中的“default-character-set=utf8” 为 “character_set_server=utf8”