[root@WKemp2 ~]# mysqld --defaults-file=/usr/local/etc/my.cnf --basedir=/usr/local/mysql8 --datadir=/data/mysql8_data/mysql1--user=mysql1 --initialize-insecure -bash: mysqld: command not found
时间: 2023-12-04 14:05:57 浏览: 39
这个错误提示意味着系统找不到 `mysqld` 命令。可能是 MySQL 没有正确安装或者系统环境变量没有正确设置。你可以尝试以下几个步骤解决问题:
1. 确认 MySQL 已经正确安装并且在系统中可以找到 `mysqld` 命令。
2. 检查系统环境变量是否正确设置,可以使用 `echo $PATH` 命令查看环境变量路径是否包含 MySQL 的安装路径。
3. 如果 MySQL 已经正确安装,但是系统无法找到 `mysqld` 命令,可以尝试使用完整路径启动 MySQL,例如 `/usr/local/mysql8/bin/mysqld`。
希望这些步骤可以帮助你解决问题。
相关问题
ubuntu mysql8.0.32 /etc/mysql/my.cnf 文件内容
以下是在Ubuntu系统上安装MySQL 8.0.32后的默认 /etc/mysql/my.cnf 文件内容:
```
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
#skip-external-locking
skip-name-resolve
skip-host-cache
skip-ssl
sql-mode = ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
log-error = /var/log/mysql/error.log
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Recommended in standard MySQL setup
# sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#
# * Character sets
#
# MySQL/MariaDB default is Latin1, but in Ubuntu UTF-8 is default
#
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates you can use for example the GUI tool "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
[mysql]
#
# * Basic Settings
#
socket = /var/run/mysqld/mysqld.sock
prompt = \u@\h [\d]>\_
[mysqldump]
#
# * Basic Settings
#
socket = /var/run/mysqld/mysqld.sock
quick
quote-names
max_allowed_packet = 16M
[isamchk]
key_buffer = 16M
#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
```
注意,这只是默认的配置文件,实际上你可以根据需要进行修改。
bin/mysql -u root -p
引用中提到了MySQL的安装、初始化、启动以及远程登录的过程。根据引用中的内容,您可以按照以下步骤进行操作:
1. 解压安装包并重命名:
- 使用命令:tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz解压安装包。
- 使用命令:mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql重命名。
2. 创建MySQL用户组和用户并修改权限:
- 使用命令:groupadd mysql和useradd -r -g mysql mysql创建MySQL用户组和用户。
- 使用命令:chown mysql:mysql -R /data/mysql为数据目录赋予权限。
3. 修改配置文件:
- 使用命令:vi /etc/my.cnf打开配置文件。
- 将以下内容添加到文件中:
```
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
[client]
socket=/data/mysql/mysql.sock
```
4. 初始化数据库:
- 使用命令:cd /usr/local/mysql/bin进入MySQL的bin目录。
- 使用命令:./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize进行初始化。
- 使用命令:cat /data/mysql/mysql.err查看初始化后的密码。
5. 启动MySQL服务:
- 将mysql.server放置到/etc/init.d/mysql中:使用命令cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql。
- 使用命令service mysql start启动MySQL服务。
6. 修改环境变量以解决command not found报错:
- 使用命令sudo vim .bash_profile打开.bash_profile文件。
- 在export path后添加:/usr/local/mysql/bin。
- 关闭命令行并重新打开,即可使用MySQL命令mysql -u root -p。
7. 允许MySQL被其他电脑远程登录:
- 使用命令mysql -u root -p进入MySQL。
- 选择系统库:use mysql。
- 执行修改权限的命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;。
- 清除缓存:flush privileges;。
- 查看用户权限:select host,user from user;。
- 这样就可以允许局域网内其他电脑远程登录MySQL了。
回答完问题后的相关问题:
1. 如何修改MySQL的配置文件?
2. 在使用MySQL命令时,出现"command not found"错误应