Ubuntu 下安装 mysql 运行下面的shell代码
#安装mysql sudo apt-get -y install mysql-server sudo apt-get -y install mysql-client sudo apt-get -y install libmysqlclient-dev安装过程中会提示你创建root账户 那就创建 要把root账户密码记下来 不要弄丢咯
mysql 测试
sudo mysqld --initialize 2018-10-17T06:25:56.353286Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2018-10-17T06:25:56.354004Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting. 2018-10-17T06:25:56.354012Z 0 [ERROR] Aborting systemctl start mysqld弹出一个messagebox 让我输入密码我不确定是输入mysql的root密码还是Ubuntu的root密码,感觉应该是要输入mysql的root密码.但是我还是决定要先试一下Ubuntu的root密码.所以输入Ubuntu的root密码 结果输出
Failed to start mysqld.service: Unit mysqld.service not found.启动失败,猜想是输入密码错误了.换mysql的root密码,这个root密码就是在安装mysql的时候初始创建的.
systemctl start mysqld然后我用mysql的root密码测试居然还是不行. 那个上面的问题应该就是输入Ubuntu的密码.至于为什么不能成功应该从错误输出找原因. 启动mysqld服务失败的原因是:
Unit mysqld.service not found先不管 先看看别的
如果看到有mysql 的socket处于 listen 状态则表示安装成功
sudo netstat -tap|grep mysql tcp 0 0 localhost:mysql *:* LISTEN 1071/mysqld通过以下命令来检查MySQL服务器是否启动:
ps -ef | grep mysqld mysql 1071 1 0 10月17 ? 00:00:38 /usr/sbin/mysqld yourname 12237 18990 0 12:10 pts/2 00:00:00 grep --color=auto mysqld mysql -u root -p可以登录
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 13 Server version: 5.7.23-0ubuntu0.16.04.1 (Ubuntu) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) mysql> exit; Bye关闭MYSQL服务
./mysqladmin -u root -p shutdown Enter password:测试是否关闭成功
sudo netstat -tap|grep mysql out put nothing ps -ef | grep mysqld yourname 20242 18990 0 12:15 pts/2 00:00:00 grep --color=auto mysqld看不到mysql的服务了 然后我再把MYSQL的服务启动起来
cd /usr/bin ./mysqld_safe & 2018-10-18T04:17:34.530613Z mysqld_safe Logging to syslog. 2018-10-18T04:17:34.540702Z mysqld_safe Logging to '/var/log/mysql/error.log'. ./mysqld_safe: 152: ./mysqld_safe: cannot create /var/log/mysql/error.log: Permission denied 2018-10-18T04:17:34.548777Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists. ./mysqld_safe: 152: ./mysqld_safe: cannot create /var/log/mysql/error.log: Permission denied这几乎代表着启动失败… 看一下
ps -ef|grep mysqld liuzy 26197 18990 0 12:18 pts/2 00:00:00 grep --color=auto mysqld看不到,服务没有启动起来,然后sudo加权限 测试
sudo nohup ./mysqld_safe &没有出现什么错误,然后测下
ps -ef|grep mysqld liuzy 5254 18990 0 12:26 pts/2 00:00:00 grep --color=auto mysqld跟刚才一样… 换个命令测试
sudo netstat -tap|grep mysql out put nothing神马也没有输出来,尝试登录下mysql
mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)已经不能登录成功了…
当前msyql服务器运行环境
cat /etc/issue Ubuntu 16.04.5 LTS \n \l查看mysqld启动是的缺省选项
mysqld --print-defaults mysqld would have been started with the following arguments: --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306 --basedir=/usr --datadir=/var/lib/mysql --tmpdir=/tmp --lc-messages-dir=/usr/share/mysql --skip-external-locking --bind-address=127.0.0.1 --key_buffer_size=16M --max_allowed_packet=16M --thread_stack=192K --thread_cache_size=8 --myisam-recover-options=BACKUP --query_cache_limit=1M --query_cache_size=16M --log_error=/var/log/mysql/error.log --expire_logs_days=10 --max_binlog_size=100M查看mysqld启动配置文件的优先级
mysqld --verbose --help|grep -A 1 "default options" mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13 - Permission denied) --no-defaults Don't read default options from any option file, except for login file. --defaults-file=# Only read default options from the given file #. --defaults-extra-file=# Read this file after the global files are read.查看当前的my.cnf配置文件
sudo mysqld & ps -ef|grep mysql root 9758 18990 0 12:50 pts/2 00:00:00 sudo mysqld liuzy 10745 18990 0 12:51 pts/2 00:00:00 grep --color=auto mysql ps -ef | grep mysqld root 9758 18990 0 12:50 pts/2 00:00:00 sudo mysqld liuzy 12677 18990 0 12:52 pts/2 00:00:00 grep --color=auto mysqld ps -ef|grep mysql|grep -v grep root 9758 18990 0 12:50 pts/2 00:00:00 sudo mysqld service mysql start need to input root password接着
mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.7.23-0ubuntu0.16.04.1 (Ubuntu) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> ps -ef|grep mysql|grep -v grep yourname 20232 18990 0 13:18 pts/2 00:00:00 vim mysqld.cnf mysql 28771 1 0 13:23 ? 00:00:00 /usr/sbin/mysqld这就是说在Ubuntu中可以用service来启动mysql服务
那么我尝试下用service关闭 mysql服务
service mysql stop need to input root password ps -ef|grep mysql|grep -v grep yourname 20232 18990 0 13:18 pts/2 00:00:00 vim mysqld.cnf转载于:https://www.cnblogs.com/vercont/p/10210160.html