我目前使用以下,但它总是提示我手动输入密码.有没有办法在启动可执行文件时在命令行中传递它?
mysqladmin processlist -u root -p
Run Code Online (Sandbox Code Playgroud) 我一直在尝试重置我的MySQL root密码.我运行了mysqld_safe --skip-grant-tables,更新了root密码,并检查了用户表以确保它在那里.一旦重新启动mysql守护程序,我尝试使用我刚设置的新root密码登录,并仍然因用户"root"错误而拒绝访问.我也试过完全删除并重新安装mysql(包括删除my.cnf文件),但仍然没有运气.有没有人对我接下来要做什么有任何建议?
提前致谢
有人能给我一个明确的解释mysql
(命令行工具),mysqladmin
(用于执行管理任务的客户端工具)和mysqld
(mysql服务器)之间的差异.
我有奇怪的错误.我通过命令行以root身份登录本地Mysql.创建数据库后:
create database some_db;
Run Code Online (Sandbox Code Playgroud)
然后给某些用户授予权限:
grant all privileges on some_db.* to some_user@'localhost' identified by 'password';
Run Code Online (Sandbox Code Playgroud)
这是错误的:
ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'some_db'
Run Code Online (Sandbox Code Playgroud)
root(show grants;)的权限显示:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*8919C53DC7A4DFBF3F8584382E96463583EB7FDA'
Run Code Online (Sandbox Code Playgroud)
我也确保我以root身份登录:
select current_user();
Run Code Online (Sandbox Code Playgroud)
这证实我以"root"@"localhost"身份登录
我已多次创建数据库和分配用户,从未遇到过问题.为什么我无法在root用户登录时将用户分配给root创建的数据库?
ps来自其他帖子,我认为这个问题可能是由于一些奇怪的用户引起的
select host, user from mysql.user;
Run Code Online (Sandbox Code Playgroud)
有些用户我还没有添加但确实出现了:
MY_COMPuTER_name.local | ''
MY_COMPuTER_name.local | root
Run Code Online (Sandbox Code Playgroud)
我试图删除这些用户
drop user 'root'@'MY_COMPuTER_name.local';
drop user ''@'MY_COMPuTER_name.local';
Run Code Online (Sandbox Code Playgroud)
但是,虽然它表明查询运行成功,但即使在刷新权限之后也不会删除用户.为什么我无法删除用户?任何帮助都很有用
如您所见,我在数据库连接上遇到问题.它给了我这个错误:
...由于许多连接错误而被阻止
我搜索了一些答案,但我无法解决我的问题.
我不知道我是否提供了您需要的所有信息,所以如果您需要其他信息,请告诉我.我有一个来自不同计算机的数据库连接,我有一个用户访问数据库,但它有%
主机行,所以我想用IP地址更改安全问题,它给了我这个错误,所以现在我卡住.
今天(2015-05-02)我通过apt-get update和
apt-get升级升级了我的Linux系统,而mysql,mysqladmin和更多的软件包
已经更新.mysql-server-5.5运行,我可以登录并执行所有
典型的数据库操作,但是当我输入时:
user@ubuntu:~# mysqladmin proc
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
Run Code Online (Sandbox Code Playgroud)
以前我可以通过简单设置mysql root密码new来解决这个问题.
这不再解决问题了:
user@ubuntu:~# sudo dpkg-reconfigure mysql-server-5.5
Run Code Online (Sandbox Code Playgroud)
如何在不重新安装mysql的情况下再次启动mysqladmin?
我从php后端作业和php网页日志中随机收到以下错误.有一个运行php后端作业和php网络服务器的应用服务器.两者都连接到同一个数据库服务器.使用php mysqli面向对象的库来连接数据库.在my.cnf中将最大连接数设置为750.没有看到达到很多连接.
PHP警告:mysqli :: mysqli():( HY000/2003):无法连接到第57行/usr/local/dev/classes/Admin.php中'77 .777.120.81'(99)上的MySQL服务器
无法连接到MySQL:无法连接到'77 .777.120.81'(99)上的MySQL服务器
我使用专有的非SQL DB进行了一个项目,其中查询可能被中断,并且在代码库中有很多地方使用了该功能并且非常有意义(例如,停止长时间运行的查询被取消用户,或者当一个更新的查询发生并使之前的查询过时,等等)并且我意识到我以前从未真正看到那种"中断的查询",并认为它可以提出一个好的问题(几个问题,但是他们都完全相同的事情):
SQL查询可以被中断吗?
这是SQL标准的一部分吗?
如果它不是SQL标准的一部分,哪些SQL DB允许查询被中断(任何最受欢迎的例子)?
中断数据库查询(SQL或不是SQL)是否常见,你知道你不再关心结果?(在我工作的代码库中,它肯定有助于减轻服务器的负载)
在以下状态中,我打开的文件数为“95349”。这个值正在迅速增加。
mysql> show global status like 'open_%';
Open_files = 721
Open_streams = 0
Open_table_definitions = 706
Open_tables = 741
Opened_files = 95349
Opened_table_definitions = 701
Opened_tables = 2851
也看到这个。
mysql>show variables like '%open%';
have_openssl = 禁用
innodb_open_files = 300
open_files_limit = 8502
table_open_cache = 4096
和
最大连接 = 300
打开的文件和打开的文件有什么关系。由于增加了opened_files 值,会不会有任何性能问题。这是一个 8 GD RAM 和 500 GB 硬盘的服务器,处理器:Intel(R) Xeon(R) CPU E3-1220 V2 @ 3.10GHz。它是一个专用的 mysql 服务器。
这里是命令
ulimit -n;
1024 是计数
服务器经常挂。使用一些在线工具,我已经优化了一些参数。需要知道还有什么应该优化?在什么情况下打开的文件数会减少?是否有必要将打开的文件数限制在某个范围内。如果是这样,如何为我的服务器找到合适的限制。如果不清楚某些地方,请通过提出更多问题来帮助我。
mysql performance server-configuration mysqladministrator mysqladmin
使用此命令设置密码后:
mysqladmin.exe --user=root password <my_password>
Run Code Online (Sandbox Code Playgroud)
我在“ root”用户的用户表中看到3行:
http://i.stack.imgur.com/Y4Rkd.jpg
和root @ localhost具有密码,而root@127.0.0.1和root @ :: 1没有密码。
这是否意味着我需要为每个行设置3次密码?即:
mysqladmin.exe --user=root host=localhost password <my_password>
mysqladmin.exe --user=root host=127.0.0.1 password <my_password>
mysqladmin.exe --user=root host=::1 password <my_password>
Run Code Online (Sandbox Code Playgroud)
这正常吗?
即使密码失败,mysqladmin ping也会返回0,这是mysqlclient没有的.这是Mysqladmin Developpers的错误吗?我不明白为什么Mysqladmin要求登录/密码,因为即使你没有指定登录,它也会返回0.
如果我尝试没有任何登录名/密码的Mysqladmin ping:
# mysqladmin ping ; echo $? mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: NO)' 0
Mysqladmin给我一个登录错误并告诉我服务器当前正在运行(0值)所以为什么要求登录,如果它仍然给我答案?
当我做这样的事情时:
#mysqladmin -uroot -pWrongPassword ping ; echo $? mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: YES)' 0
这使我返回0而不是1.
现在,如果我停止mysql服务器并再试一次:
# mysqladmin -uroot -pWrongPassword ping ; echo $? mysqladmin: connect to server at 'localhost' failed error: 'Can't connect to local MySQL server through socket …
在审计任务中,我将删除几个 mysql 用户。在删除之前我想检查一下,这些用户上次访问数据库服务器是什么时候。我想知道我们是否将这些信息存储在information_schema或mysql数据库中。如果不是,我们怎么能做到这一点?
对于我们使用该语句在mySQL中创建的每个新用户
CREATE USER newuser@localhost IDENTIFIED BY 'password';
Run Code Online (Sandbox Code Playgroud)
"SHOW GRANTS"仅显示"USAGE ON*.*"权限.
但是用户能够在"test"和"information_schema"数据库上选择,插入......,并且我无法使用下面给出的revoke语句在"test"上撤销这些权限.
REVOKE ALL ON test.* FROM newuser@localhost;
ERROR 1141 (42000) : There is no such grant defined for user 'guest' on host 'localhost'
Run Code Online (Sandbox Code Playgroud)
我只是不希望newuser访问test和information_schema数据库.
mysql ×13
mysqladmin ×13
linux ×2
php ×2
database ×1
interrupt ×1
kill ×1
mysqli ×1
performance ×1
privileges ×1
root ×1
sql ×1
ubuntu-14.04 ×1
windows ×1